當我在我的Laravel項目中更改某些模型的命名空間時,當我試圖加載相關模型時,它不再工作。Laravel Model in different Namespace not working with eager/related加載
當我在默認命名空間中使用它時,它都可以正常工作,但是我想改變它 - 出於一些未提及的原因。
有人看到我在做什麼錯嗎?貌似都沒什麼問題..
<?php
# Foobar
namespace Hello\FoobarSheeps;
use Illuminate\Database\Eloquent\Model;
class Sheep extends Model
{
protected $visible = ['name', 'is_alive'];
public function farm()
{
return $this->belongsTo('Hello\FoobarSheeps\Farm');
}
}
# Address
namespace Hello\FoobarSheeps;
use Illuminate\Database\Eloquent\Model;
class Farm extends Model
{
protected $visible = ['city', 'latitude', 'longitude'];
public function sheep()
{
return $this->hasOne('Hello\FoobarSheeps\Sheep');
}
}
# Result
public function index()
{
# Just returns the Sheeps, not the Farms..
return \Hello\FoobarSheeps\Sheep::with('farm')->get();
}
指數的反應僅僅是名稱和羊的is_alive布爾。不是與他們有關的農場。
您是否嘗試過'composer dump-autoload'來重新加載模型? – yangqi
你是否想完全改變應用程序的根名稱空間('App'到'Hello'),還是需要與現有的'App'平行的第二個根名字空間? – lukasgeiter