Использование предложений where для запроса из столбца массива в Laravel - PullRequest
0 голосов
/ 01 мая 2019

В моей базе данных есть столбец массива. Как я могу использовать предложения where для запроса из него в Laravel? что-то вроде:

Model::where( 'languages.en', 'term' )->get()

Ответы [ 3 ]

0 голосов
/ 01 мая 2019

при условии, что значения вашего столбца сериализованы и используется приведение атрибутов Laravel. вы можете выполнить поиск по этому сериализованному столбцу, чтобы найти соответствие между ключом и значением.

Model::where('language', 'like', '%"en":term%');
0 голосов
/ 01 мая 2019

В вашем контроллере

$langs= DB::table('languages')->where('id','=',1)->get();
OR
$langs= Languages::where('id','=',1)->get();

В твоем клинке

@foreach($langs as $lang)
{{$lang->id}}
{{$lang->name}}
@endforeach
0 голосов
/ 01 мая 2019

Вы можете использовать что-то вроде этого:

$cats = DB::table('categories')->where('id',1)->get();

foreach($cats as $cat) {
    echo "ID: " . $cat->id . ", ";
    echo "Name: " . $cat->name . "<br>";
}
...