Laravel 5.4雄辩的反应不太合适

时间:2017-06-12 10:20:53

标签: php laravel-5 eloquent relationship

我有两张桌子 - 两张都是遗产。

一个表格,国家/地区,只有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。

帮助表示赞赏!

1 个答案:

答案 0 :(得分:0)

我发现我可以通过以下行获得这个:

$customer = PCustomer::where('Reference',5955)->with('country')->get(); 

但这似乎与文档不一致