我有两张桌子 - 两张都是遗产。
一个表格,国家/地区,只有v字段:
entry (index field)
Countryname
Abbrev
我的另一张桌子是PCustomers,其中包括
Reference (index field)
country (the foreign key)
我设置了两个模型:
class Countries extends Model
{
protected $table="Countries";
protected $primaryKey = 'entry';
function pcustomer()
{
return $this->hasMany('App\PCustomer','country','entry');
}
}
和
class PCustomer extends Model
{
protected $table = 'p_customers';
protected $primaryKey = 'Reference';
public function country()
{
return $this->hasOne('App\Countries','entry','country');
}
public function addnew(Request $request)
{
}
}
为了试试这个,我把它放在一个控制器中:
public function PCustomers()
{
$customer = PCustomer::find(5955)->country;
dd($customer);
}
我知道5955存在,其国家是74。
dd返回74,但没有别的。
如果我放弃这个国家,那么它就变成了
$customer = PCustomer::find(5955);
我使用完整的字段获得通常和正确的集合。
我认为应该发生的是 - >国家我会得到记录的详细信息加上来自国家的3个字段,而不仅仅是74。
帮助表示赞赏!
答案 0 :(得分:0)
我发现我可以通过以下行获得这个:
$customer = PCustomer::where('Reference',5955)->with('country')->get();
但这似乎与文档不一致