Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Laravel 5 wymowny, gdzie In

Ciężko jest zrozumieć, co chcesz osiągnąć, ale spróbuję. Po pierwsze, jak wspomniał @particus, najlepszym sposobem jest stworzenie tabeli przestawnej, gdy nie musisz się o to martwić.

Ale rozwiązaniem, jeśli masz listę identyfikatorów w kolumnach oddzielonych przecinkiem, nie jest przechowywanie wartości, takich jak

1,2,3

ale zawsze dodając , na początku i na końcu, tak powinno być w tym przypadku:

,1,2,3,

W ten sposób, jeśli masz w swojej tabeli ,19,2,3, i chcesz wyszukać wartość 9 , powinieneś szukać ,9, ciąg, na przykład:

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

Teraz dla powyższego ciągu nie zostanie znaleziony rekord, ale jeśli masz ,9,2,3, lub po prostu ,9, żądany rekord zostanie znaleziony.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Błąd:mysqlnd nie może połączyć się z MySQL 4.1+ przy użyciu starego niezabezpieczonego uwierzytelniania

  2. Java Server Pages - sortowanie przy wstawianiu do MySql?

  3. sql::zachowanie SQLString

  4. Scalanie/utrwalanie OpenJPA jest bardzo powolne

  5. Rails 2.3.3 - Ustawienie w trybie produkcyjnym