我使用get()方法从数据库中检索模型。当我想使用保存按钮修改字段时,我收到了该错误:调用未定义的方法Illuminate \ Database \ Eloquent \ Collection :: save();
这是我的代码:
public static function authenticate($token='randomToken'){
$u = User::where('token',$token)// $token)
->get(['token']);
if ($u->count()==1){//User is authenticated
$u->token = User::getGUID();
$u->save();
return true;
}
else {
return false;
}
}
public static function getGUID()
{
if (function_exists('com_create_guid')) {
return com_create_guid();
} else {
mt_srand((double)microtime() * 10000);//optional for php 4.2.0 and up.
$charid = strtoupper(md5(uniqid(rand(), true)));
$uuid = substr($charid, 0, 8)
.substr($charid, 8, 4)
.substr($charid, 12, 4)
.substr($charid, 16, 4)
.substr($charid, 20, 12);
return $uuid;
}
}
答案 0 :(得分:0)
将您的查询更改为
$u = User::where('token',$token)// $token)
->first(['token']);
get方法为您提供了一个对象数组,因此无法像您一样直接对其进行更新/保存。但是使用first()它只能从数据库中获得一条记录,因此更容易保存或更新它。