изменение значения результата запроса в соответствии с условием wherehas в laravel - PullRequest
0 голосов
/ 14 декабря 2018

Я использую 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 голосов
/ 14 декабря 2018

Вот общий способ,

Если у вас есть три модели, Курс, Сцена, Уровень Когда вы извлекаете данные из модели Уровень , добавьте метод доступа, Для получения дополнительной информации нажмите здесь .

Например:

На Level.php модель,

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

    return $value;
}
...