Я новичок в laravel. Я уже искал сайт larvel doc для этого вопроса. на одной из моих страниц просмотра laravel мне нужно отобразить значение двух строк
1) mtitle
2) mdescription
В таблице содержится еще несколько строк. столбцы - это name,value,key,status
. Я написал построитель запросов в моем blade.php, используя файл модели, подобный этому.
$default = Specific::where('status',1)->where('name','mtitle')->first();
Это, очевидно, имеет только одну строку. Я хочу знать, есть ли способ получить другую строку 'mdescription' также без написания еще одного запроса?
Предполагая, что вы хотите получить строки, которые имеют столбцы имен, заданные как mtitle
или description
, вы можете использовать метод whereIn
следующим образом:
$default = Specific::where('status',1)
->whereIn('name',['mtitle','description'])->get();
Теперь вы можете отображать значение этих строк с помощью цикла:
foreach ($default as $item) {
echo $item->name.' '.$item->value.' '.$item->key.' '.$item->status;
}
Вам нужно изменить свой запрос следующим образом
$default = Specific::where('status',1)->where('name','mtitle')->get();
first() возвращает только одну первую запись с соответствующими условиями.
используйте метод get() для получения всех записей.
вы также можете использовать 'paginate()'
для разбивки на страницы, если у вас много записей.
Вы можете илиWhere()
$default = Specific::where('status',1)->where('name','mtitle')->orWhere('name', 'mdescription')->get();
first
чтобыget
(не заметил раньше)