关联数据的输出也可以使用hidden
、visible
和append
方法进行控制,下面举例说明。
如果要隐藏关联模型的属性,可以使用
$list = User::with('profile')->select();
$list->hidden(['profile.email'])->toArray();
输出的结果中就不会包含Profile
模型的email
属性,如果需要隐藏多个属性可以使用
$list = User::with('profile')->select();
$list->hidden(['profile'=>['address','phone','email'])->toArray();
同样,可以使用visible方法来显示关联属性:
$list = User::with('profile')->select();
$list->visible(['profile'=>['address','phone','email'])->toArray();
追加一个Profile
模型的额外属性(非实际数据,可能是定义了获取器方法)
$list = User::with('profile')->select();
$list->append(['profile.status'])->toArray();
也可以追加一个额外关联对象的属性
$list = User::with('profile')->select();
$list->append(['Book.name'])->toArray();