sql >> Database teknologi >  >> RDS >> Mysql

Laravel 5.4 Raw Deltag i forespørgsel

Du kan bruge tilbagekald til at oprette en mere kompliceret forbindelsesforespørgsel.

->leftJoin(TBL_CAT, function($query){
     $query->on(TBL_CAT.'id', '=', 'p.cat_id')->where("**", "**", "**");
})

Her er link til laravel doc - https://laravel.com/docs/5.4/queries# slutter sig til Sektionen "Avancerede tilmeldingsklausuler".

UPD::Som nævnt i kommentaren er det ikke en god idé at have strenge til sådanne typer data. Fordi søgning efter lighed burde være meget enklere end strengkontrol. Selvom din mængde data ikke skulle have den store forskel, ved du aldrig, hvad der vil ske med din app i fremtiden.

Men hvis du stadig vil gøre det, tror jeg, du kan prøve sådan her

->leftJoin(TBL_CAT, function($query){
     $query->where(DB::raw("FIND_IN_SET(".TBL_CAT.".id, p.cat_id)"), "<>", "0");
})

Deltag, der vil kontrollere eksistensen af ​​id i cat_id.




  1. laravel sammenføjning med kun begrænsende 2 rækker

  2. Find ud af, om en streng kun indeholder ASCII-tegn

  3. Importer flere .sql-dumpfiler til mysql-databasen fra shell

  4. Sådan bruger du Case Statement til betinget formatering i Select Query - SQL Server / TSQL Tutorial Del 116