Пользовательский расчет в контроллере Laravel

Я новичок в Ларавеле. Я создаю небольшое приложение, которое отображает пользовательскую таблицу из БД, но перед отправкой ее в представление я хочу включить пользовательское значение из другой функции.

Таблица учетных записей извлекает список учетных записей из MySQL, и я хочу включить пользовательскую функцию с именем getStatus(), которую я получаю из API.

Код

<?php

public function accounts()
{
    $accounts = DB::table('accounts')
        ->where('profile_id', '=', Auth::id())
        ->get();

    foreach ($accounts as $account) {

        $account->status = getStatus($account->accno);
    }

    $data = compact('accounts');

    return view::make('transactions', ['accounts' => $data]);
}

Просмотреть

@foreach ($accounts as $account)
    <tr>
        <td></td>
        <td>{{ $account->login }}</td>
        <td>{{ $account->status }}</td>
    </tr>
@endforeach

person user3001255    schedule 03.12.2018    source источник


Ответы (2)


Вы можете сделать это так.

$accounts = $accounts->map(function($account){
   $account->status = getStatus($account->accno)
});

Надеюсь, что это поможет вам.

Спасибо

person Jesus Erwin Suarez    schedule 03.12.2018
comment
Работал как шарм. Решено. :-) - person user3001255; 03.12.2018

$accounts = DB::table('accounts')
    ->where('profile_id', '=', Auth::id())
    ->get()
    ->map(function($item){
       $item->status = getStatus($item->accno);
       return $item;
    });

Теперь у вас будет статус в вашем $accounts.

person Amitoz Deol    schedule 03.12.2018