这是我设定关系的模型
package com.garnett.mathspeeder;
import java.util.Random;
public class QuestionModel {
public QuestionModel(String questionString, String answer) {
QuestionString = questionString;
Answer = answer;
}
public String getQuestionString() {
return QuestionString;
}
public void setQuestionString(String questionString) {
QuestionString = questionString;
}
public String getAnswer() {
return Answer;
}
public void setAnswer(String answer) {
Answer = answer;
}
private String QuestionString;
private String Answer;
}
这里是控制器 我在这里有两个关系,我的发票产品销售状况很好,但是$ clients显示了2行
public function user() {
return $this->hasOne('App\Client','id','client_id');
}
和视图
$clients = Invoice::with('user')->get();
$invoice_id = $invoice->id;
$invoices = Invoice::with('products')->where('id', '=', $invoice_id)->firstOrFail();
return view('admin.invoices.show', compact('invoice','invoices'),compact('clients'));
现在,当我访问视图时,我得到2个带有相同客户端名称(标题)值的td标签,知道我做错了什么吗? 这是
的dd@foreach($clients as $client)
<td>{{ $client->user->title ?? 'بدون مشتری' }}</td>
@endforeach
答案 0 :(得分:0)
问题是我正在遍历该模型可能发生的所有关系,所以我只是做了一个简单的过滤器,该过滤器是我的关系的一个are子句,并设置了发票的ID以仅携带我的属性正如我在文档中看到的
$clients = Invoice::with('user')->where('id','=',$invoice_id)->get();