php – 如何在使用雄辩时排除某些列

前端之家收集整理的这篇文章主要介绍了php – 如何在使用雄辩时排除某些列前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
当我使用雄辩时,我可以使用“where”方法,然后方法“get”来填充包含我在数据库中选择的对象.
我的意思是:
$users = User::where('gender','M')->where('is_active',1)->get(['pseudo','email','age','created_at'])->toArray();

在这里我可以选择我想要的“伪”,“电子邮件”等列.
但是我在laravel doc中想到的是做相反的方式.
这可能是这样的:

$users = User::where('gender',1)->notGet(['pseudo','created_at'])->toArray();

谢谢你的未来答案,并有一个美好的一天.

AFAIK在sql中没有构建选项来明确排除列,所以Laravel无法做到这一点.但是你可以试试 this trick

更新

另一个诀窍是指定模型中的所有列

protected $columns = array('id','pseudo','email'); // add all columns from you table

public function scopeExclude($query,$value = array()) 
{
    return $query->select( array_diff( $this->columns,(array) $value) );
}

那你可以做:

$users = User::where('gender',1)->exclude(['pseudo','created_at'])->toArray();

猜你在找的PHP相关文章