我制作了第三张桌子,因为我在第三张桌子里需要额外的柱子。 我在两个模型中都写过关系方法但是id不是 移动 用户模型方法是
class User extends Model
{
protected $fillable = [
'user_type_id', 'accountType', 'email', 'password', 'userName', 'gender', 'dob', 'country', 'city', 'mobileNo', 'cnic', 'address',
'degreeLevel', 'degreeTitle', 'institution', 'complitionYear', 'acedCountry', 'experience', 'workExperience', 'industry', 'perCountry', 'cv'
];
protected $table = 'users';
/********************************************************************/
/* Relationship between User and Ranklist */
/*******************************************************************/
public function RankList()
{
return $this->hasMany('App\Models\RankList','user_id');
}
public function Company()
{
return $this->hasMany('App\Models\Company');
}
public function newsAndEvents()
{
return $this->hasMany('App\Models\newsAndEvents','user_id');
}
/********************************************************************/
/* Relationship between User and user type */
/*******************************************************************/
public function UserType()
{
return $this->belongsTo('App\Models\UserType','user_type_id');
}
public function course_outline()
{
return $this->belongsTo('App\Models\CourseOuline','user_id');
}
public function Jobs()
{
return $this->belongsToMany('App\Models\Job','Job_User','User_id','Job_id');
}
public function Skill_User()
{
return $this->belongsToMany('App\Models\Skill','Skill_User','Skill_id','User_id');
}
public function Feedback_User()
{
return $this->belongsToMany('App\Models\Feedback','Feedback_User','Feedback_id','User_id');
}
}
in job model method is
class Job extends Model
{
use SoftDeletes;
protected $dates = ['deleted_at'];
/**************************************************/
/* Company Post Job */
/**************************************************/
protected $fillable = [
'jobType', 'jobTitle','skills','industry', 'department', 'vacancy', 'qualification', 'degreeTitle', 'miniExperience', 'jobCategory',
'city', 'gender', 'companyName', 'description','posting_date', 'applied_date', 'companyLogo',
];
protected $table = 'jobs';
/**************************************************/
/* Relationships between company and job */
/**************************************************/
public function Company()
{
return $this->belongsTo('App\Models\Company','company_id');
}
public function job_skill()
{
return $this->belongsToMany('App\Models\Skill','Job_Skill','Job_id','skill_id');
}
public function Users()
{
return $this->belongsToMany('App\Models\User','Job_User','User_id','Job_id');
}
}
pivot table code is
class Job_User extends Model
{
protected $fillable = [
'cv','current_salary','expected_salary','status',
];
protected $table = 'jobs_users';
}
但显示用户申请工作错误
完整性约束违规:1452无法添加或更新子行:外键约束失败(bridging_the_gap
。jobs_users
,CONSTRAINT jobs_users_user_id_foreign
FOREIGN KEY(user_id
)REFERENCES {{1 (users
)ON DELETE CASCADE ON UPDATE CASCADE)(SQL:插入id
jobs_users
,cv
,current_salary
,expected_salary
,updated_at
)值(1st,15,000-19,999,30,000-39,999,2016-06-02 10:57:02,2016-06-02 10:57:02))
答案 0 :(得分:0)
尝试这样的事情
//model jobs
public function Jobs()
{
return $this->belongsToMany('App\Models\jobs_users');
}
//model users
public function Users()
{
return $this->belongsToMany('App\Models\jobs_users');
}
//model pivot - jobs_users
public function user() {
return $this->belongsTo('App\Models\user');
}
public function jobs() {
return $this->belongsTo('App\Models\job');
}
这是制作枢轴(多对多关系)的基础知识。对于更多字段,您必须在枢轴模型中定义额外字段等...
希望有所帮助