关联输出

优质
小牛编辑
159浏览
2023-12-01

关联数据的输出也可以使用hiddenvisibleappend方法进行控制,下面举例说明。

隐藏关联属性

如果要隐藏关联模型的属性,可以使用

$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();