现在我得到一些模型,其中所有属性都被填充,除了一个。
所以我想在数据库中进行搜索,看看是否有一些匹配所有属性值的注册表,在这种情况下,获取最后一个属性值并保留它。
现在我正在做一个查询机智查询构建器,给它所有这样的地方:
$query->Model::select()->where(field, $instance->field);
$query->where(field2, $instance->field2);
...
$query->get();
但是我想知道是否有某种方法来制作像......这样的快捷方式。
$instance->get();
答案 0 :(得分:1)
是的,您可以通过在模型中定义方法来完成此操作
class YourModel extends Model
{
public function getFiltered()
{
return Model::where('field1',$this->field1)->where('field2',$this->field2)->get();
}
}
你可以像这样访问它:
$instance->getFiltered();
您不能保留函数名称'get',因为它已经在正在扩展的Model中使用。但是你可以从getFiltered更改为任何未使用的内容。就像模型是User并且函数getFiltered给出用户的注释一样,它可以是注释。