因此,我很難取回多態關係的所有者。這很簡單。完全按照文檔所述。我已經能夠取得孩子,但不是所有者。在Laravel 5.4中獲取多態關係的所有者
這是我的表結構:
表結構,庫存表:
歷史模式:
namespace App;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\Relation;
Relation::morphMap([
'inventory' => 'App\Inventory',
'customer' => 'App\Customer',
'supplier' => 'App\Supplier',
]);
class History extends Model
{
public function product()
{
return $this->belongsTo('App\Product');
}
public function moveTo()
{
return $this->morphTo();
}
}
這是庫存模型:
namespace App;
use Illuminate\Database\Eloquent\Model;
class Inventory extends Model
{
public function users(){
return $this->belongsToMany('App\User');
}
public function products(){
return $this->hasMany('App\Product');
}
public function histories()
{
return $this->morphMany('App\History', 'moveTo');
}
}
不幸的是,dd($history->moveTo);
返回的null
值。
但是,如果我做dd($inventory->histories);
,所有的數據都在那裏。
任何人有任何想法爲什麼?
試過了。仍然返回'null'。 – kamudrikah
但它仍然是一個很好的做法,即使它沒有修復,也可以通過使用'ServiceProvider'來實現:) –