سلام دوستان
فرض کنید چنین جدولی داریم
column1 id ["1","2","3"] 1 ["1","2"] 2 ["1"] 3 ["2","3"] 4
اگر بخواهیم سطرهایی که در اونها 1و2 وجود داره ( اسمش رو میذارم x ) رو پیدا کنیم باید از کد زیر استفاده کنیم
select * from `Test_table` where json_contains(`column1`, "["1","2"]")
یا
select * from `Test_table` where `column1` like "%1%" and `column1` like "%2%"
یا در لاراول
$test = Test::whereNotNull( 'id' );
foreach ( $x as $key ) {
$test->where( 'column1', 'like', "%$key%" );
}
$test->get();
نوع دیگر لاراول
$test = Test::whereNotNull( 'id' );
$test->whereJsonContains( 'column1', $x );
$test->get();
id column1 1 ["1","2","3"] 2 ["1","2"]
چیزی که من احتیاج دارم دقیقا برعکسه، یعنی قصد دارم سطرهایی رو پیدا کنم که مقدار اون سلول در x یا همون 1و2 وجود داشته باشه یعنی جواب جستجو بصورت زیر باشه
کسی راه حل رو بلده؟
id column1 2 ["1","2"] 3 ["1"]