Как заменить нулевое значение на 0, в команде базы данных laravel - PullRequest
0 голосов
/ 26 марта 2020

У меня проблема с Laravel.

Это мой код:

Daily::where('dev_code', $this->dev)->get();

в моей базе данных, у меня есть несколько нулевых значений, и я хочу заменить их на 0.

Как я могу это сделать, у кого-нибудь есть решение?

1 Ответ

0 голосов
/ 26 марта 2020

для определенного столбца, где вы ожидаете нулевое значение, вы можете попробовать

Daily::select(
    // other selects
    DB::raw('ISNULL(field_name, 0 ) AS field_name')
    )
    ->where('dev_code', $this->dev)
    ->get();

, принимая в случае field_name имя столбца и daily имя вашей таблицы

else,

else, вы можете определить имя поля в функции в модели. они примут действительное значение и дадут вам вычисленное значение, если у вас есть один столбец с именем «имя_ дня»

public function day_name () {
    return $this->day_name ?? 0;
}

Таким образом, вы должны определить для всех имен столбцов таблицы

...