Php Larvel错误:尝试获取非对象的属性

Php Larvel错误:尝试获取非对象的属性,php,laravel,Php,Laravel,我正在进行一个项目,以便更好地处理Laravel 5.2。该项目是一个简单的应用程序,它从SQL数据库中获取一个报价并将其显示给用户。用户有一个输入字段,用于输入答案。如果用户的输入与作者姓名匹配,他将收到一条通知,他的分数将增加一分,并显示下一个问题。如果答案不正确,将向他显示正确答案,并显示下一个问题 错误是指我的刀片模板页面中的这一行代码: @if(Session::has('index')) {{ $i = Session::get('index')}}

我正在进行一个项目,以便更好地处理Laravel 5.2。该项目是一个简单的应用程序,它从SQL数据库中获取一个报价并将其显示给用户。用户有一个输入字段,用于输入答案。如果用户的输入与作者姓名匹配,他将收到一条通知,他的分数将增加一分,并显示下一个问题。如果答案不正确,将向他显示正确答案,并显示下一个问题

错误是指我的刀片模板页面中的这一行代码:

@if(Session::has('index'))
           {{ $i = Session::get('index')}}

            <h3 class="text-center">" {{$quotes[$i]->quote}} " </h3>

                {{$currentId = $quotes[$i]->author_id}}


            @endif
Edit1:如果选择一个数字,$quotes数组工作正常,如中所示 $quotes[0]->quote,我得到了正确的字符串


Edit2:提供了有关该问题的背景信息。见上文。

我想试试这样的东西。这在视图本身中没有逻辑,而是在我认为它无论如何都属于的控制器中

控制器:

public function show() 
{
    if (!$request->session()->has('index')) {
        $index = 1;     
        $request->session()->set('index', $index);      
    } else {
        $index = $index + 1;
        $request->session()->set('index', $index);
    }
    $quote = Quote::getById($index); //make this method

    return view('quote', compact('quote'));
}
那么在你看来,

        <h3 class="text-center">" {{$quote->quote}} " </h3>

        {{$currentId = $quote->author_id}}

在我看来,最好将任何业务逻辑排除在视图之外,并将其放在控制器或模型本身中。您还可以创建一组
quote
类来处理如何处理报价。

您在哪里设置
$quotes
嗨,请查看编辑页面(:如果您使用传入的确切数字作为索引会怎么样?最终如果传入的数字不存在于引号中,您将得到该错误。问得好,但我在控制器中将index的值设置为1,仍然会得到相同的错误。我完全同意您将业务逻辑与视图分离,但您r解决方案无法解决我的问题,我担心这是因为我没有正确解释。如果可以的话,请查看我的最新帖子。感谢您抽出时间给出如此详细的回复(:
        <h3 class="text-center">" {{$quote->quote}} " </h3>

        {{$currentId = $quote->author_id}}
public function getById($id)
{
    return Quote::find($id);
}