Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
Kristoffer Linder
@liiinder
hmmm, har gjort två kommentarer men den får comment.Id't men första men comment.text från andra :/
Kristoffer Linder
@liiinder
Och när jag var_dumpar ett sånt active_record objekt så känns det inte som PDOStatement->queryString stämmer mot vad jag tycker den borde... Nu säger den att den kör en select * from post , men resultatet stämmer ju iaf bara att jag inte får ut alla träffar
Kristoffer Linder
@liiinder
Tycker dock fetchAllClass() borde fungera med where men icke...
Kristoffer Linder
@liiinder
select * from comment join user on user.userId = comment.userId where postId = ?; min sql-fråga fungerar som den ska iaf men fortfarande samma problem att jag inte lyckas hämta alla resultat utan det blir bara första :/ Känns inte som det finns något som passar för att få alla :/
Christian Norrman
@iFaxity
@liiinder provat SELECT * FROM comment JOIN user ON user.userId = comment.userId
Kristoffer Linder
@liiinder
Jag använder joinen utan where för att visa alla posts och skriva med username och gravatar, men vill använda where för att kunna visa alla kommentarer från den posten och where fungerar inte alls ihop med joinen
men sql satsen funkar i cygwin / sqlite3 så gissar att det är något med php pdo eller database i anax :)
Mikael Roos
@mosbth
Dubbelkolla hur den genererade SQL-satsen ser ut (och testa den i direkt i sqlite) i anax/database (finns som sträng).
Dubbelkolla hur "fetchAllClass" fungerar, vad returneras, hur hanteras parametrarna, kanske använder du metoden fel?
Kristoffer Linder
@liiinder
@mosbth vet inte hur jag ska testa den :/
eller se den genererade SQL-satsen
Kristoffer Linder
@liiinder
This message was deleted
image.png
Fick detta, när man väl la till " = ?" på den så får man ut ett objekt istället som jag inte alls förstår
Kristoffer Linder
@liiinder
Får tyvärr inte alls samma resultat (får inget alls) på studenservern
Kristoffer Linder
@liiinder
sql-satsen för $comments borde vara SELECT * FROM comment INNER JOIN user on user.userId = comment.userId where PostId = 1 och den fungerar felfritt
Kristoffer Linder
@liiinder
Enda skillnaden mellan min findAllJoin som fungerar och den som inte fungerar är where satsen och enda skillnaden på min findAllWhereJoin mot findAllWhere är join raden så tycker inte det borde förstöra det helt :/
Kristoffer Linder
@liiinder

Fattar inte alls om man kollar på active-record objectet så är $this->tableName = "Comment" , from i ActiveRecord anropet är from($this->tableName), from i QueryBuilderTrait.php är

    public function from($table)
    {
        $this->from = "FROM " . $this->prefix . $table;
        return $this;
    }

Ändå står det att $this->db->from är "FROM Post" ?

Kristoffer Linder
@liiinder
image.png
Det enda jag har kommit fram till är att båda dom får samma object(PDOStatement)[58] public 'queryString'
Men fattar inte varför så funderar på att bara skita i allt och köra en fullösning
Kristoffer Linder
@liiinder
image.png
detta fungerar tydligen men inte alls säker på varför det funkar att köra utan $res = på vissa
ohh.. nu är jag helt med dock
Mikael Roos
@mosbth
Fullösning är bra när man tröttnar på finlösningen. Men jag läser av allra sista raden att "allt verkade gå bra till slut".
Det finns en metod i querybuilderklassen som heter getSQL() så det var nog den jag tänkte man kunde använda för att se SQL-satsen.
https://github.com/canax/database-query-builder/blob/master/src/DatabaseQueryBuilder/QueryBuilderTrait.php#L44-L55
Apropå JOIN så verkar det finnas stöd för det i querybuilderklassen (något vi pratade om tidigare). Jag vill minnas att någon student i en tidigare kursomgång "tvingade" fram den koden.
https://github.com/canax/database-query-builder/blob/master/src/DatabaseQueryBuilder/QueryBuilderTrait.php#L364-L432
Kristoffer Linder
@liiinder
Japp det är den jag använder mig av :) Men missade att man var tvungen att spara ner resultatet för känns som jag har gjort det lite blandat
Tomie
@jeneljenel
Är det bara för mig som en create() i en tabell med "created" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMPinte fungerar? Får alltså "Question.created may not be NULL"
har testat att vända "created" DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL får samma fel. Kan ju såklart bara lös det men ändå.
Jimpxx
@Jimpxx
@jeneljenel Fungerade inte för mig heller, satte den manuellt när jag skapar användaren, posten eller kommentaren
Tomie
@jeneljenel
Ja störigt… :/ bör ju fungera. Men det blir något konstigt med getProperties i ActiveRecordModel gissar jag? Men ja, får bli manuellt. Tack @Jimpxx
Magnus Lj
@MagnusLj

Hej, jag håller på och försöka få det att fungera med kommandona som finns i QueryBuilderTrait, som findAllWhereJoin, men då får jag

Call to undefined method Malm18\Project\Tagsquestions::findAllWhereJoin()

Det funkar med annat, som find, findAllWhere etc. Finns det något särskilt knep man ska ta till för att kunna använda det i DatabaseQueryBuilder och QueryBuilderTrait?

Kristoffer Linder
@liiinder
den finns inte som standard
Magnus Lj
@MagnusLj
@liiinder Ok...fast filerna finns där och ActiveRecordModel har use DatabaseQueryBuilder som i sin tur har use QueryBuilderTrait
Kristoffer Linder
@liiinder
yeah
jag har lagt till dom i min activerecordmodel :)
Men man får göra dom själv
Magnus Lj
@MagnusLj
Aha, du har bara lagt in de metoderna i activerecordmodel alltså? Ska testa med det, lurigt när de ligger i en fil som det hänvisas till men det inte funkar ändå... Tack!
Kristoffer Linder
@liiinder
Bygger upp dom med querybuildern, sen om man lägger det i ActiveRecordModel eller i dom specifika tabell klasserna får man ju avgöra själv från fall till fall:D
sjukt smidigt faktiskt när man började med dubbla joins, groupby/orderby osv
Magnus Lj
@MagnusLj
Tack!
Kristoffer Linder
@liiinder
sen är det ju bara ta det man behöver från QueryBuilderTrait
Kristoffer Linder
@liiinder
Någon som har en vanlig Controller som hämtar/hänvisar till en content fil?
Kristoffer Linder
@liiinder
nvm :P
Kristoffer Linder
@liiinder
När jag postar mitt HTMLForm och det har varit ett värde i den men man tar bort det (typ om man vill ta bort sin mail eller mina tags) så om jag lämnar inputen tom så blir den nollställd till värdet den har när sidan laddas vilket gör att jag inte kan tömma ett fält... Någon som har en lösning på det så man kan skicka tomma fält? Har inte not null på fältet heller
MartinLedel
@MartinLedel
@mosbth Hittar ingen information om redovisningen nästa vecka. Antar det är på tisdag mellan 10-12? :)
Jimpxx
@Jimpxx
image.png
Någon som kan tolka detta felet? Får det när jag skriver make test
Pontus Andersson
@Poan18
@Jimpxx Har för mig att jag fick samma fel när jag glömde att ange "global $di;" inuti setUp delen i mitt test. Pröva att lägga till det om du inte redan har?
Jimpxx
@Jimpxx
@Poan18 Har du tagit bort de tester som var från början? Jag har nämligen inte gjort några tester ännu
Pontus Andersson
@Poan18
Yep, tog bort de tester som fanns från början