2015-06-06 1 views
0

Использование Laravel, чтобы проверить, является ли значение в массиве хранится в виде строки, разделенных запятыми, например, строка хранится в таблице тузд 1,14,15,20,25Laravel запроса, где в запятыми строку

Так я пытаясь добавить запятая-х в начале и в конце поиска соответственно

$query = Profile::whereRaw("',' + cf_profile.sub_category_id + ',' LIKE '%,$sub_category->sub_category_id,%'"); 

Может кто-нибудь, дайте мне знать, где я буду здесь не так, как он никогда возвращения результатов.

ответ

2

Вы можете использовать FIND_IN_SET():

WHERE FIND_IN_SET($sub_category, sub_category_id) > 0 
+0

К сожалению, эта функция возвращает только если точное число хранится и нет, если он находится в строке, разделенных запятыми. то есть он вернет sub_category_id из 2 в таблице mysql, но не если он равен 1,15,2 (это будет пропущено). Мне это нужно, чтобы найти все вхождения, любые дальнейшие предложения? – sprintcar78a

+0

@ sprintcar78a работает нормально. Проверьте это [скрипка] (http://sqlfiddle.com/#!9/39652/1). Лучше создайте скрипку, если вы все еще не получаете желаемого o/p. – Beginner

+0

Игнорируйте, что у меня был стог сена, $ needle NOT $ needle, $ haystack !! Вернуться к исходному удаленному комментарию спасибо! : D – sprintcar78a

Смежные вопросы