Я пытаюсь передать две переменные (сообщение и ответ) в вопросе.blade, когда я нажимаю кнопку «отправить», сохраняя тело, плюсы, минусы в DB. я получаю следующее сообщение об ошибке:Ошибка При попытке получить свойство не-объекта в laravel
Попытки получить свойство не-объект (Вид: D: \ WAMP \ WWW \ XXXXXXXXXX \ Resources \ Views \ Question.blade.php) в 9e68b64a739caa46ec7f5af26c6c40a6cf68ebf3.php линии 9 в CompilerEngine-> handleViewException (объект (ErrorException), '1') в PhpEngine.php линии 44
код контроллера:
public function postAnswer(Request $request, $post_id)
{
$post = Post::where('id', $post_id)->first();
$body = $request['body'];
$pros = $request['pros'];
$cons = $request['cons'];
$answer = new Answer();
$answer->body = $body;
$answer->pros = $pros;
$answer->cons = $cons;
$request->user()->answers()->save($answer);
$post->answers()->save($answer);
return view('Question', [
'post' => $post ,
'answer' => $answer]);
question.blade код:
@foreach ($answer as $answers)
<p>{{ $answers->body }}</p>
<p>{{ $answers->pros }}</p>
<p>{{ $answers->cons }}</p>
@endforeach
вы не можете использовать $ ответа на Еогеаспе. Просто удалите foreach и используйте $ answer, чтобы получить атрибуты. –
Спасибо, что сработало. Но в моем случае у меня много ответов на один вопрос, и мне нужно зациклиться в таблице ответов? –
Затем вы хотите зациклиться на $ post-> answer вместо ... –