热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

开发笔记:Laravel一对多关系问题与学分名称

篇首语:本文由编程笔记#小编为大家整理,主要介绍了Laravel一对多关系问题与学分名称相关的知识,希望对你有一定的参考价值。

篇首语:本文由编程笔记#小编为大家整理,主要介绍了Laravel一对多关系问题与学分名称相关的知识,希望对你有一定的参考价值。



我在laravel中定义了一个简单的一对多关系。用户拥有许多积分,而积分属于用户。

用户模型

/**
* Relationship to the users credits
*
* @return IlluminateDatabaseEloquentRelationsHasMany
*/
public function credits()
{
return $this->hasMany(Credit::class);
}

信用模型

/**
* Relationship to the user that this credit belongs to
*
* @return IlluminateDatabaseEloquentRelationsBelongsTo
*/
public function user()
{
return $this->belongsTo(User::class);
}

调节器

/**
* Return a user
*
* @param $user_id
*
* @return User
*/
public function getUser($user_id)
{
$user = $this->user->findOrFail($user_id);
// Dumping and Dieing works fine, but when i return
// the User instance i get an error.
// dd($user->toArray());
return $user;
}

我得到的错误:

“error”:0,“message”:“类Illuminate Database Eloquent Collection的对象无法转换为int”


答案

发现了这个问题。

模型中还有另一个地方期望$ this-> credits返回null。该代码预计此代码更新,但没有考虑$ this-> credits将是一个集合的事实。


另一答案

如果你想从这个user_id获取用户,只需在你的控制器中写User::where('user_id', '=', $user_id)->first()。并且不要忘记将user_id从刀片传递给控制器​​。我希望这对你有用



推荐阅读
author-avatar
西边升起的太阳2012
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有