我在视图页面中有以下代码
<form action="{{ action('AnswerController@handleCreate') }}" method="post" role="form">
<div class="form-group dropdown">
<label for="question">Question</label>
<select id="question" class="drop" name="question">
@foreach($questions as $question)
<option value="{{$question->question}}">{{$question->question}}</option>
@endforeach
</select>
</div>
在我的控制器中我有以下代码
$question = Question::whereQuestion(Input::get('question'))->first();
$n = $question->id;
他们给我一个错误$ n = $ question - &gt; id告诉我试图获取非对象的属性
答案 0 :(得分:2)
不是将问题文本用作值并在之后查询id,为什么不从头开始将id设置为值?
<select id="question" class="drop" name="question">
@foreach($questions as $question)
<option value="{{$question->id}}">{{$question->question}}</option>
@endforeach
</select>
然后你可以做Input::get('question')
并且你拥有所选问题的ID。如果你想获得完整的模型:
$questionId = Input::get('question');
$question = Question::find($questionId);