我可以在查询中使用 Mutators 吗?
Can I use Mutators in Query?
我已经在我的模型中创建了一个修改器。
Class Client {
protected $fillable = ['name', 'age']
public function getIndustryAttribute() {
// some evaluations;
return "Programmer"
}
}
现在,我正在尝试使用 Client::where('industry', "Programmer")->get()
来获取值。这可能吗?
请记住,这完全是伪代码,以便于解释。由于计划不周,我以这种方式结束..
不,你不能那样做。
在执行查询后评估增变器。
查询时可以做的就是定义正确的scopes.
这是不可能的,因为在查询时应用修改器会非常耗费性能:这相当于遍历整个 table 并在每一行上执行详细说明。
我已经在我的模型中创建了一个修改器。
Class Client {
protected $fillable = ['name', 'age']
public function getIndustryAttribute() {
// some evaluations;
return "Programmer"
}
}
现在,我正在尝试使用 Client::where('industry', "Programmer")->get()
来获取值。这可能吗?
请记住,这完全是伪代码,以便于解释。由于计划不周,我以这种方式结束..
不,你不能那样做。
在执行查询后评估增变器。
查询时可以做的就是定义正确的scopes.
这是不可能的,因为在查询时应用修改器会非常耗费性能:这相当于遍历整个 table 并在每一行上执行详细说明。