0
下面的代碼運行,另一個不運行。代碼在foreach循環中運行。 有誰知道爲什麼第一個不運行?Laravel從視圖訪問一對一關係
{{ Status::find($workorder->statuses_id)->name }} //this doesn't
{{ Status::find(1)->name }} //this works
下面的代碼運行,另一個不運行。代碼在foreach循環中運行。 有誰知道爲什麼第一個不運行?Laravel從視圖訪問一對一關係
{{ 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 }}
這個工作對我來說沒有任何問題。
另外,如果你想使用你最初提供的語法,你可以在工單類像這樣定義一個方法:
public function getStatusesIdAttribute() {
return $this->hasOne('Status')->first()->id;
}
...但就是有點彆扭,可能不是最好的方法。
感謝您的幫助,我得到了它的工作。還有一件事,我檢查了這一點。在foreach內部我也可以像訪問$ workorder-> status_id-> name這是可能的嗎?我似乎正在嘗試獲取非對象的屬性 – momoterraw
只要狀態表中存在「名稱」列,就應該爲$ workorder-> status-> name! – ARW
這應該是真的嗎?然後,我的模型出了問題。該死的! – momoterraw