为什么 DB::select 工作,但 DB::table 不起作用?



我有一个查询可以从表中选择数据:

public function getOptions($id)
    {
        $questionOptions = DB::table('question_options')
            ->where('question_id', '1')
            ->orderBy('order_number');
        //$questionOptions = DB::select('select * from question_options where question_id = '.$id.' order by order_number desc');
        //$questionOptions = QuestionOption::all();
        $question = Question::find($id);
        return view('question.option', ['question' => $question, 'questionOptions' => $questionOptions]);
    }

在刀片视图中,我使用此代码显示数据:

@foreach($questionOptions as $item)
    <tr>
        <td>{{$item->id}}</td>
        <td>{{$item->option}}</td>
        <td>{{$item->image}}</td>
        <td>{{$item->order_number}}</td>
        <td>{{$item->is_correct}}</td>
    </tr>
@endforeach

当我使用db ::选择时,效果很好。使用DB ::表不起作用。下面的错误。

ErrorException (E_ERROR)
Undefined property: IlluminateDatabaseMySqlConnection::$id

请帮助我,如何使用db :: table?

非常感谢bienhv

只需添加 ->get()

$questionOptions = DB::table('question_options')
            ->where('question_id', '1')
            ->orderBy('order_number')->get();

最新更新