Laravel-按动态字段筛选集合

Laravel-按动态字段筛选集合,laravel,laravel-5,eloquent,Laravel,Laravel 5,Eloquent,模型有3个字段是模型的属性,第4个字段是称为“fullTitle”的动态字段 我认为这应该解决它。不能对表中实际不是字段的字段使用查询,但应该能够将其作为集合进行筛选 我认为这应该解决它。不能对表中实际不存在的字段使用查询,但应能够将其作为集合进行筛选不能要求数据库搜索表中实际不存在的内容 仅当您请求派生属性时,才会调用自定义属性。不能在查询中使用它们 或者,您可以获取内存中的所有行,然后使用PHP对其进行过滤,但这不是一个好方法 您还可以考虑将特定属性的转换存储在相关表中,然后按关系在数据库

模型有3个字段是模型的属性,第4个字段是称为“fullTitle”的动态字段


我认为这应该解决它。不能对表中实际不是字段的字段使用查询,但应该能够将其作为集合进行筛选


我认为这应该解决它。不能对表中实际不存在的字段使用查询,但应能够将其作为集合进行筛选

不能要求数据库搜索表中实际不存在的内容

仅当您请求派生属性时,才会调用自定义属性。不能在查询中使用它们

或者,您可以获取内存中的所有行,然后使用PHP对其进行过滤,但这不是一个好方法


您还可以考虑将特定属性的转换存储在相关表中,然后按关系在数据库中搜索。

您不能要求数据库搜索表中实际不存在的内容

仅当您请求派生属性时,才会调用自定义属性。不能在查询中使用它们

或者,您可以获取内存中的所有行,然后使用PHP对其进行过滤,但这不是一个好方法


您还可以考虑将特定属性的转换存储在相关表中,然后按关系在数据库中搜索。

fullTitle
不是DB字段,对吗?是否有错误?如果是,请提供给我们。@Tarasovych它不是一个db字段,它是一个动态字段。因此,您必须“计算”
fullTitle
所有要筛选的实体
fullTitle
不是db字段,对吗?您是否有错误?如果是,请提供给我们。@Tarasovych它不是一个db字段,而是一个动态字段。因此,您必须“计算”
fullTitle
所有要筛选的实体。注意:此解决方案不能很好地与大量数据进行扩展。如果您想扩展它,基本上需要将翻译存储在另一个表中并使用联接,但如果您有大约100条记录,则不重要注意:此解决方案不能很好地扩展大量数据。如果您想让它扩展,您基本上需要将翻译存储在另一个表中并使用联接,但是如果您有大约100条记录,这应该无关紧要
[
    {
    "id": 1,
    "hours": 2000,
    "car_id": 3,
    "fullTitle": "Test",
    }
}
$collection = VenderModel::get();

$collection->filter(function($item) use($title) {
    return preg_match('/.*'.$title.'.*/', $item->fullTitle) !== false;
});

return response()->json($collection, 200);