【发布时间】:2018-08-10 15:33:11
【问题描述】:
我在我的模型中创建了一个 mutator。
Class Client {
protected $fillable = ['name', 'age']
public function getIndustryAttribute() {
// some evaluations;
return "Programmer"
}
}
现在,我正在尝试使用Client::where('industry', "Programmer")->get() 来获取价值。这可能吗?
请记住,这是一个完全伪代码,以便于解释。由于计划错误,我最终以这种方式结束..
【问题讨论】:
-
正如@gbalduzzi 的回答所指出的那样,您不能为此使用 Laravel 的 mutators,它们是在查询返回的
Model对象之后评估的。但是,有一种方法可以实现这一点,具体取决于您的数据库平台。 MySQL 提供了一个名为 Generated Columns 的东西,它可能是你的解决方案。不过,我不能代表任何其他受支持的数据库。当然,这完全取决于您需要什么样的逻辑,但这可能不可行。
标签: laravel laravel-5.6 laravel-query-builder mutators