仅在使用其他Eloqunt东西(如where函数)时,我什么都找不到。我确实尝试了一些东西,但是没有用。
因此,使用Eloqunt,您可以执行以下操作:
$user = User::where('id', '=', $id);
根据我从其他地方获得的用户类型,添加一个选择
示例:
switch($user_type) {
case 10:
$user->select('id',
'firstname',
'lastname',
'email',
break;
case 40:
$user->select('id',
'firstname',
'lastname');
'email',
'someMoreFields', //etc
break;
}
现在基于某些条件,我想在选择的内容中添加更多字段。
if($someCondition) {
$user->select('type');
}
但这导致用户对象可悲的是,它仅基于最后一个select('type')返回列。有谁知道如何使用多个选择或解决方法。甚至将我指向一些文档也会很好,因为我找不到任何东西。
答案 0 :(得分:1)
您可以使用addSelect()
if($someCondition) {
$user->addSelect('type');
}
或者只是建立您在select()中使用的数组:
$select = ['id', 'firstname', 'lastname'];
if($someCondition) {
$select[] = 'type';
}
$user->select($select);