В настоящее время я работаю над созданием API с использованием Lumen. У меня есть, к примеру, 2 таблицы users
и users_token
с соответствующими моделями User
и UsersToken
.
Таблица users_token
имеет 2 поля-импортера: user_id
(внешний ключ связаны с полем id
из таблицы users
и token
(простая строка).
В моей модели User
у меня есть метод tokens
, который возвращает все токены от пользователя используя функцию hasMany()
:
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class User extends Model
{
public function tokens()
{
return $this->hasMany('App\UsersToken');
}
}
Таблица users_token
также содержит поля по умолчанию created_at
и updated_at
. Поэтому, чтобы получить самый старый модифицированный токен пользователя, я решил использовать функцию oldest()
Laravel:
$latestUserToken = $user->tokens->oldest('updated_at');
Но, к сожалению, я получаю это сообщение об ошибке:
Метод Illuminate \ Database \ Eloquent \ Collection :: old не существует.
У кого-нибудь есть идея, где моя ошибка?