根据laravel中的条件更改查询结果值

时间:2018-12-14 12:26:31

标签: laravel iteration

我正在使用laravel

我想根据特定条件更改列的值。 如果满足条件,则将特定列的值更改为1,我该怎么办。 如果我可以在wherehas函数内部的模型中调用函数来更改值,怎么办?

我可以使用2的for循环迭代结果集并更改它,但是我想通过在检索数据时更改值来降低复杂性

Course::with('stages','stages.levels')->whereHas('stages.levels', function($query)use ($levelsarray){
            $query->wherenotIn('id', $levelsarray);
            here I want to change a column value in table levels
        })->first();

1 个答案:

答案 0 :(得分:0)

这是一种通用方法,

假设您具有三个模型,课程,阶段,水平级别模型中检索数据时,请添加访问器, 有关更多信息,click here

例如:

Level.php模型上,

public function getColumnNameAttribute($value) // replace ColumnName with column name
{
    //write application logic here.

    return $value;
}