SQLSTATE [42S22]: столбец не найден: 1054 неизвестный столбец в модели транзакции - PullRequest
0 голосов
/ 13 января 2020

Я пытаюсь получить транзакцию CODE, но у меня ошибка:

Столбец не найден: 1054 Неизвестный столбец 'coalesce (MAX (CAST (RIGHT (action_code, 5)) в' списке полей '( SQL: выберите coalesce( MAX( CAST ( RIGHT( transaction_code, 5) как UNSIGNED )) ,0 ) из transactions, где transaction_code LIKE% TR% limit 1)

Я также пытался php кустарная миграция: fre sh --seed и до сих пор получаю ошибку и это мой код для модели транзакции

class Transaction extends Model{
protected $table = 'transactions';
protected $guarded = ['id'];

public function scopeGetCode($query)
{
    $string = "TR";
    //TR0001
    $selectLastCode = DB::raw(" coalesce( MAX( CAST ( RIGHT( transaction_code, 5) AS UNSIGNED )) ,0 ) as code ");
    $getData = $query->select("$selectLastCode")->where('transaction_code', 'LIKE', '%' . $string . '%')->first();


    $number = sprintf("%'.05d ", $getData->code + 1);

    return $string . $number;
}}

1 Ответ

0 голосов
/ 13 января 2020
$query->select(DB::raw("coalesce( MAX( CAST ( RIGHT( transaction_code, 5) AS UNSIGNED )) ,0 ) as code "))

То, как вы пытались использовать DB:raw, похоже на то, что ваш столбец назван как ваше выражение. Попробуйте вышеуказанное решение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...