我正在使用 Laravel 5.4 。有两个表groups
和contacts
具有以下结构。每个联系人都有一个小组。
我还为每个人创建了一个模型,如下所示:
Group.php是群组模型
namespace App;
use Illuminate\Database\Eloquent\Model;
class Group extends Model
{
public function contact()
{
return $this->hasMany('App\Contact');
}
}
Contact.php是联系人模型
namespace App;
use Illuminate\Database\Eloquent\Model;
class Contact extends Model
{
public function group(){
$this->belongsTo('App\Group');
}
}
现在使用php atrisan tinker
,以下命令报告错误:
App\Contact::find(3)->group
当我输入App\Contact::find(3)
时,它会成功返回ID为3的联系人,但是App\Contact::find(3)->group
会返回错误,而我希望它返回ID为3的联系人
感谢。
这是错误
答案 0 :(得分:1)
确保返回关系;
class Contact extends Model
{
public function group(){
return $this->belongsTo('App\Group');
}
}
答案 1 :(得分:1)
使用
public function group(){
return $this->belongsTo('App\Group');
}
而不是
public function group(){
$this->belongsTo('App\Group');
}
需要返回
我不确定组是否是保留字。如果是,请检查并更改。
答案 2 :(得分:-1)
我认为群组是预先定义的关键字,可能就是原因。