#laravel #laravel-5 #eloquent
#laravel #laravel-5 #красноречивый
Вопрос:
Я использую encrypt. Я могу отобразить все данные таблицы. Однако я не могу получить одну запись. Я не шифрую ‘id’. Я попробовал другой столбец, но тот же.
Вот моя ошибка
Пытаюсь получить свойство ‘id’ не-объекта
Вот мой код
блейд-файл (сначала я нажимаю на эту ссылку)
<a href="one?id={{ $val->id }}">{{ $val->id }}</a>
блейд-файл (страница отображения, на этой странице я получил ошибку)
@foreach ($data as $val)
{{ $val->id }}
@endforeach
Пытаюсь получить свойство ‘id’ не-объекта
web.php
Route::get('/one','MailController@onerecord');
Route::post('/one','MailController@onerecord');
Контроллер
public function onerecord(Request $request)
{
$id = $request['id'];
$data = Contact::where('id',$id)->get();
return view('mail.one', ['data' => $data]);
}
Не могли бы вы научить меня, что не так с моим кодом, пожалуйста?
Ответ №1:
Используйте dd($data)
после получения вашего контакта с Contact::where('id',$id)->get();
, чтобы исследовать содержимое $data
. Скорее всего, возвращается объект, а не массив, поэтому при переборе $data
внутри вашего блейда @foreach
будут просматриваться свойства объекта. Следовательно, $val->id
недопустимо, но был бы прямой доступ к $data->id
, без необходимости перебора $data
.
Комментарии:
1. Я ценю ваш ответ. Я сделал dd ($ data) и проверил весь свой код много раз, и каким-то образом это работает. Большое вам спасибо. Я всегда буду сначала использовать dd ($ data).