Как изменить значение столбца коллекции в laravel - PullRequest
0 голосов
/ 01 мая 2020

У меня есть коллекция laravel, которая выглядит примерно так:

$loan = Loans::where([
            ['OL_TEMP_APP_NO', $appNo]
        ])
        ->get();

Коллекция $loan возвращает principal, terms, code. Код соответствует строке. Пример 1 = новый, 2 = обработка, 3 = утверждено.

Как мне разобрать значения в code перед отправкой их в представление?

Ответы [ 2 ]

1 голос
/ 01 мая 2020

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

public function getAll(){
   // ...
    $loans = Loans::where([['OL_TEMP_APP_NO', $appNo]])->get();
    $data = [];
    foreach($loans as $loan){
        $code = Code::getValue($loan->code);
        $data[] = [
              'principal' => $loan->principal, 
              'terms' => $loan->terms, 
              'code' => ($loan->code == 1) ? 'new' : ( ($loan->code == 2) ? 'processing' : 'approved') 
              ]
    }

    return $data;
}
1 голос
/ 01 мая 2020

Вы можете использовать CASE WHEN для преобразования целого числа в строковый код:

$loan = Loans::where([
            ['OL_TEMP_APP_NO', $appNo]
        ])
        ->select('principal', 'terms', DB::raw("
           (CASE code
            WHEN 2 THEN 'processing'
            WHEN 3 THEN 'approved'
            ELSE 'new' END) AS code
        "))
        ->get();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...