mgsmus
Hocam o şekilde de sonuç vermedi.
$pairings = IntegrationProductMatches::orWhereHas("category",
function ($query) use ($search) {
$query->whereRaw("json_search(integration_category.pParentCategories, 'one', ?)", [$search]);
})
->orWhereHas("product",
function ($query) use ($search) {
$query->where("integration_product.productCode", "LIKE","%".$search."%");
})
->where(function ($query) use ($columns, $search) {
foreach ($columns as $i => $column) {
if ($i === 0) {
$query->whereRaw("json_search(integration_product_matches.".$column.", 'one', ?)", [$search]);
continue;
}
$query->orWhereRaw("json_search(integration_product_matches.".$column.", 'one', ?)", [$search]);
}
})
->get();
Sadece veritabanında sql ile 1 önceki mesajını denedim.
select * from integration_product_matches where json_search(integration_product_matches.pAttributeList, 'all', 'Yenidoğan')
Aşağıdaki gibi warning atıyor.
Warning: #1292 Truncated incorrect INTEGER value: '"$.104187"'
Warning: #1292 Truncated incorrect INTEGER value: '"$.104187"'
Warning: #1292 Truncated incorrect INTEGER value: '"$.104187"'
Warning: #1292 Truncated incorrect INTEGER value: '"$.104187"'
Warning: #1292 Truncated incorrect INTEGER value: '"$.104187"'
Warning: #1292 Truncated incorrect INTEGER value: '"$.104187"'
Warning: #1292 Truncated incorrect INTEGER value: '"$.104187"'
Warning: #1292 Truncated incorrect INTEGER value: '"$.104187"'
Veritabanındaki sayı ile warning sayısı tutuyor ama değerleri alamıyor.