我有3个包含此类字段的表
1。反馈
2。客户
3。区域
有这样的关系
1
public function Customer()
{
return $this->belongsTo('Customer');
}
2
public function Region()
{
return $this->belongsTo('Region');
}
我试图运行此代码
$result = Feedback::
with(array('customer' => function($query) {$query->select(array('id','name'));}))
->with(array('region' => function($query) {$query->select(array('id','name'));}))
->get(array('id','created_at'))
->toArray();
它返回给我下一个数组:
Array
(
[0] => Array
(
[id] => 4
[created_at] => 2014-09-22 16:28:32
[customer] =>
[region] =>
)
)
我们可以看到客户和地区字段为空。然后我尝试用任何其他组合修改我的代码,但它并没有给我带来好结果。只有当我在->get(array('id','created_at'))
中没有指定字段并且像->get()
那样将其保留为空时运行此构造时,我才能得到这样的结果:
Array
(
[0] => Array
(
[id] => 1
[customer_id] => 1
[region_id] => 1
[scores] => some_data
[description] => some_text
[created_at] => 2014-09-22 16:28:32
[updated_at] => 2014-09-22 13:28:57
[deleted_at] =>
[customer] => Array
(
[id] => 1
[name] => customer_name
)
[region] => Array
(
[id] => 1
[name] => region_name
)
)
)
但是现在我从主表中得到了所有字段,在这种情况下我不需要。
请帮我正确地构建这个结构。谢谢!