Вызов помощника Laravel Collection ()

Мне нужно понять раз и навсегда это. Извините за глупый вопрос.

У меня есть следующий статический метод, который по существу получает таблицу id с и php_format с на даты.

По мере получения данных я хочу добавить столбец в каждую строку коллекции, чтобы она содержала today отформатированный Carbon, Я поняла put() помощник делает это.

Мой метод:

public static function getWithSampleDates($type = null)
{
    if (! $type) {
        $dates = self::all();
    } else {
        $dates = self::where('type', '=', $type)->get();
    }

    foreach($dates as $date) {
        $date->put('label', Carbon::now()->format($date->php_format));
    }

    return $dates;
}

Но это не так с:

BadMethodCallException
Call to undefined method Illuminate\Database\Query\Builder::put()

Я не понимаю. я думал $dates это collection?

1 ответ

Ответ должен был использовать setAttribute() хотя я все еще запутался в использовании put(),

public static function getWithSampleDates($type = null)
{
    if (! $type) {
        $dates = self::get();
    } else {
        $dates = self::where('type', '=', $type)->get();
    }

    foreach($dates as $date) {
        $date->setAttribute('label', Carbon::now()->format($date->php_format));
    }

    return $dates;
}
Другие вопросы по тегам