laravel - Eloquent 搜索/自定义属性的位置

标签 laravel eloquent

我向模型添加了自定义属性

public function getTouchedAttribute() { ...


我想将此添加到查询中

hasMany()->where('touched', ...)


但这显然不是表中的一列。

实现此行为的最优雅方法是什么?

最佳答案

一种选择(就性能而言可能是更好的选择)是使用原始SQL函数来模仿属性。 (因为我不知道touched的作用,所以无法为您提供帮助)

另一种方法是在结果集合上使用filter

$collection = Model::all();
$filtered = $collection->filter(function($model){
    return $model->touched == true;
});

关于laravel - Eloquent 搜索/自定义属性的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28020053/

相关文章:

php - Laravel 不会让我迁移表,因为它已经存在

laravel - 如何从数据库 laravel 中的created_at或updated_at字段在 Blade View 中显示unix时间戳?

php - Laravel belongsTo 关系 - 试图获取非对象的属性

php - Laravel 更改器(mutator)从 JSON 到 php 数组以显示在数据表中

php - Laravel 在 where 子句中加入 "and"和 "or"

php - Laravel 如何从 3 个表中获取数据

php - php 中的数据库随机函数?

php - 在 laravel 约会前一小时发送通知

javascript - 重新加载页面时从变量中删除数据

php - Laravel:左连接 sql 错误