下面的代码运行,而另一个不运行。代码在 foreach 循环中运行。有谁知道为什么第一个不运行?
{{ Status::find($workorder->statuses_id)->name }} //this doesn't
{{ Status::find(1)->name }} //this works
假设你的关系是这样定义的......
class Workorder extends Eloquent {
public function status() {
return $this->hasOne('Status');
}
}
你需要做:
{{ Status::find($workorder->status->id)->name }}
这对我来说没有问题。
或者,如果您想使用最初提供的语法,您可以在 Workorder 类上定义一个方法,如下所示:
public function getStatusesIdAttribute() {
return $this->hasOne('Status')->first()->id;
}
...但这有点尴尬,可能不是最好的方法。