Получить данные из БД Фасад en php laravel - PullRequest
0 голосов
/ 18 февраля 2019

У меня есть этот запрос en php laravel

$query = DB::select("SELECT * FROM solicitudes WHERE id = 5");

В моей таблице "значения" есть столбцы "id, titulo, proofedor"

Результат запроса - только одна строкахочу принять значение "титуло".Я пытаюсь сделать что-то вроде этого ...

$nombrep = 'nombre'.$query->titulo;

но это выдает ошибку

Попытка получить свойство 'id' не-объекта

Ответы [ 2 ]

0 голосов
/ 18 февраля 2019

Учитывая, что у вас есть Eloquent Model для solicitudes таблицы:

$result = Solicitude::findOrFail(5);

Это вернет один экземпляр, представляющий одну строку, имеющую id (первичный ключ) равен 5.Если будет выдано сообщение об ошибке, то в строке id как 5;

при использовании:

$query = DB::select("SELECT * FROM solicitudes WHERE id = 5");

отсутствует строка.И во-вторых, даже если вы ожидаете, что этот запрос должен вернуть один массив или объект, он не возвращает.

Возвращает массив, который содержит один объект, представляющий строку.

Если у вас есть моделиопределено, а затем использование ELoquent построителей запросов является более чистой вещью.

0 голосов
/ 18 февраля 2019

DB::select возвращает массив.И если вы хотите использовать ->.Попробуйте это:

$query = DB::select("SELECT * FROM solicitudes WHERE id = 5");
$query = Illuminate\Support\Collection::make($query);

$nombrep = 'nombre'.$query[0]->titulo;
...