方法 Illuminate\Database\Eloquent\Collection::oldest 不存在
Method Illuminate\Database\Eloquent\Collection::oldest does not exist
我目前正在使用 Lumen 创建 API。例如,我有 2 tables users
和 users_token
以及相应的模型 User
和 UsersToken
.
table users_token
有 2 个重要字段:user_id
(与 users
table 中的 id
字段链接的外键)和token
(一个简单的字符串)。
在我的模型 User
中,我有方法 tokens
return 来自用户使用 hasMany()
函数的所有标记:
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class User extends Model
{
public function tokens()
{
return $this->hasMany('App\UsersToken');
}
}
table users_token
还包含默认字段 created_at
和 updated_at
。因此,为了获得用户最早修改的令牌,我决定使用 Laravel:
的 oldest()
函数
$latestUserToken = $user->tokens->oldest('updated_at');
但遗憾的是我收到此错误消息:
Method Illuminate\Database\Eloquent\Collection::oldest does not exist.
有人知道我的错误在哪里吗?
因为$user->tokens
return Eloquent Collection。
oldest
是Eloquent-Builder和Query-Builder的一个方法。
您需要像这样调用 oldest
方法:
$latestUserToken = $user->tokens()->oldest('updated_at')->first();
Laravel 按 updated_at
升序排序。
我目前正在使用 Lumen 创建 API。例如,我有 2 tables users
和 users_token
以及相应的模型 User
和 UsersToken
.
table users_token
有 2 个重要字段:user_id
(与 users
table 中的 id
字段链接的外键)和token
(一个简单的字符串)。
在我的模型 User
中,我有方法 tokens
return 来自用户使用 hasMany()
函数的所有标记:
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class User extends Model
{
public function tokens()
{
return $this->hasMany('App\UsersToken');
}
}
table users_token
还包含默认字段 created_at
和 updated_at
。因此,为了获得用户最早修改的令牌,我决定使用 Laravel:
oldest()
函数
$latestUserToken = $user->tokens->oldest('updated_at');
但遗憾的是我收到此错误消息:
Method Illuminate\Database\Eloquent\Collection::oldest does not exist.
有人知道我的错误在哪里吗?
因为$user->tokens
return Eloquent Collection。
oldest
是Eloquent-Builder和Query-Builder的一个方法。
您需要像这样调用 oldest
方法:
$latestUserToken = $user->tokens()->oldest('updated_at')->first();
Laravel 按 updated_at
升序排序。