Php Laravel数据透视表正在添加'GroupMembers'。'GroupId'为空
我正在构建一个包含成员和组的应用程序,一个成员可以在一个组中 使用laravel框架 我有以下型号:Php Laravel数据透视表正在添加'GroupMembers'。'GroupId'为空,php,laravel,laravel-4,Php,Laravel,Laravel 4,我正在构建一个包含成员和组的应用程序,一个成员可以在一个组中 使用laravel框架 我有以下型号: class Group extends Model { protected $table = 'Groups'; public function GroupMembers() { return $this->belongsToMany('Member', 'GroupMembers', 'GroupId', 'MemberId'); } }
class Group extends Model
{
protected $table = 'Groups';
public function GroupMembers()
{
return $this->belongsToMany('Member', 'GroupMembers', 'GroupId', 'MemberId');
}
}
class Member extends Model
{
protected $table = 'members';
protected static $rules = [
'Name' => 'unique:members'
];
public function Groups()
{
return $this->belongsToMany('Group', 'GroupMembers', 'MemberId', 'GroupId');
}
}
当我尝试通过以下方式获取组中的所有组成员时:
public function getIndex()
{
$member = Group::findOrFail(3);
//$member = Member::findOrFail(1);
//$results = $member;
$results = $member->GroupMembers;
dd(DB::getQueryLog());
dd($results);
//$results =GroupMember::getGroupMembers(1);
return View::make('hello')->with('results', $results);
}
我得到0个结果,因为它正在向查询添加为null:
select `members`.*
, `GroupMembers`.`GroupId` as `pivot_GroupId`
, `GroupMembers`.`MemberId` as `pivot_MemberId`
, `GroupMembers`.`created_at` as `pivot_created_at`
, `GroupMembers`.`updated_at` as `pivot_updated_at`
from
`members`
inner join
`GroupMembers` on `members`.`id` = `GroupMembers`.`MemberId`
where
`GroupMembers`.`GroupId` is null
提交来自何处,如何删除它?我假设GroupId和MembersId是相应表的主键?
您需要定义与默认id不同的任何主键列名
将此添加到您的模型中
protected $primaryKey = 'GroupId';