Как отобразить одну зашифрованную запись?

#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).