0

下面的代码运行,而另一个不运行。代码在 foreach 循环中运行。有谁知道为什么第一个不运行?

{{ Status::find($workorder->statuses_id)->name }} //this doesn't


{{ Status::find(1)->name }} //this works
4

1 回答 1

0

假设你的关系是这样定义的......

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;
}

...但这有点尴尬,可能不是最好的方法。

于 2013-05-15T01:16:08.380 回答