1
不確定爲什麼Laravel正在執行循環,直到內存不足。我試圖創建一個與我的模型有很多關係,但它只是給我一個白色的屏幕。這裏是我的三個型號Laravel HasMany上的白色屏幕
Contractor.php
class Contractor extends Eloquent {
protected $table = 'contractors';
public function contractorTrades() {
return $this->hasMany('ContractorTrade', 'contractor_id', 'id');
}
}
ContractorTrade.php
class ContractorTrade extends Eloquent {
protected $table = 'contractor_trades';
public function contractor() {
return $this->belongsTo('Contractor');
}
}
Trade.php
class Trade extends Eloquent {
protected $table = 'trades';
}
如果我打電話
Contractor::first()->contractorTrades();
我的應用程序內存不足,崩潰在白色屏幕上沒有錯誤。在我的調試過程中,我做到了這一點,因此在嘗試hasManyThrough之前我只測試了hasMany,但仍然無法使其工作。當我通過Artisan運行它時,它看起來就像一遍又一遍地循環着。
您是否嘗試從hasMany()調用中移除contractor_id和id?你也可以請張貼表創建SQL,我想在我的機器上重現這一點。最後,你有沒有在你的配置文件中打開調試? – 2014-09-02 21:14:13
你有'newQuery'方法嗎?或者可能是全球範圍或類似的東西?否則,這個調用無法循環。顯示你在那裏的整個代碼。 – 2014-09-02 22:12:49
嘿,所以我想出了一個問題,但它並沒有解決我的最終問題。 由於某種原因,如果我打電話給 - > contractorTrades();在視圖中而不是 - >承包商的交易;我有whitescreen問題。 我的問題仍然存在,但關係不正常。當我打電話給$ contractor-> trades時,發生以下SQL: 從'trades'內部連接'contractor_trades'''id' ='trades'選擇'trades'。*,'contractor_trades'.'contractor_id'' '.'''其中'contractor_trades'.'contractor_id' =? [bindings] => Array([0] => 6)[time] => 1.53) – bertmaclin 2014-09-03 14:20:41