Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/240.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在模型laravel中过滤自定义属性?_Php_Laravel - Fatal编程技术网

Php 如何在模型laravel中过滤自定义属性?

Php 如何在模型laravel中过滤自定义属性?,php,laravel,Php,Laravel,在我的情况下如何查询过滤umur? #################################### ####################################数据库不知道umur属性,因此无法在查询生成器中对其进行筛选 //这不起作用,因为数据库中不存在umur列 模型::where('umur','something')->get(); 但是,您可以使用集合的where()方法过滤结果,或者使用filter()进行更精确的过滤 Model::get() ->where

在我的情况下如何查询过滤umur? ####################################
####################################

数据库不知道
umur
属性,因此无法在查询生成器中对其进行筛选

//这不起作用,因为数据库中不存在umur列
模型::where('umur','something')->get();
但是,您可以使用集合的
where()
方法过滤结果,或者使用
filter()
进行更精确的过滤

Model::get()
->where('umur','something');
Model::get()
->过滤器(功能($model){
返回preg_匹配(模式,$model->umur);
});
//return
{
    "data": [
        {
            "tanggal_lahir": {
                "tanggal": "2000-01-29",
                "umur": 21
            }

//model
protected $appends = ['umur'];

public function getTanggalLahirAttribute($value){
    if(@$value){
        $umur = Carbon::parse($value)->diffInYears(Carbon::now());
        if(@$umur){
            return [
                'tanggal' => $value,
                'umur' => $umur
            ];
        }else{
            return $value;
        }
    }
}