当我使用雄辩时,我可以使用“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();