Laravel使用外键将对象序列化为数组

时间:2018-02-12 16:37:48

标签: php laravel-5.5

class Customer extends Model
{
    public function country(){
        return $this->belongsTo(Country::class,'country_id');
    }
}

$customer = Customer::Find(1);

在执行$customer->toArray()时,它会序列化#country_id'而不是整个国家的对象。

国家/地区对象是否也可能被序列化?

由于

1 个答案:

答案 0 :(得分:1)

您需要明确加载国家/地区关系,

$customer = Customer::findOrFail(1)->load('country');

$customer->toArray()

另一种方法是使用with

$customers = Customer::with('country')->find(1)->toArray(); 

如果要始终加载一个或多个关系,则可以在模型的protected $with属性中指定它们,因此关系总是需要加载,

例如:

  protected $with = ['country'];