sql >> Databáze >  >> RDS >> Mysql

Laravel 5 výmluvný whereIn

Je docela těžké pochopit, čeho chcete dosáhnout, ale pokusím se. Za prvé, jak zmínil @particus, nejlepším způsobem je vytvořit kontingenční tabulku, když se o takové věci nemusíte starat.

Ale řešením, pokud máte seznam ID ve sloupcích oddělených čárkou, není ukládání hodnot jako

1,2,3

ale vždy přidávat , na začátku a na konci, tak by to mělo být v tomto případě:

,1,2,3,

Tímto způsobem, pokud máte v tabulce ,19,2,3, a chcete vyhledat hodnotu 9 , měli byste použít hledat ,9, řetězec, například:

$id = 9; 
$items = Items::where('column', LIKE '%,'.$id.',%')->get();

Nyní pro výše uvedený řetězec nebude nalezen žádný záznam, ale pokud máte ,9,2,3, nebo jen ,9, bude nalezen požadovaný záznam.



  1. Django JSONField uvnitř ArrayField

  2. PostgreSQL vs. MySQL

  3. Zakázat přístup k databázi

  4. Jak mohu spočítat počet příspěvků, které mají nulové nebo kladné skóre?