Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/react-native/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 拉威尔记录关系问题_Php_Database_Laravel_Laravel 5_Eloquent - Fatal编程技术网

Php 拉威尔记录关系问题

Php 拉威尔记录关系问题,php,database,laravel,laravel-5,eloquent,Php,Database,Laravel,Laravel 5,Eloquent,我在申请人和待处理工作之间有一对多关系,其中我的申请人模型有cnic主键,其中待处理工作有申请人id并将其作为外键指向申请人模型cnic列 申请人型号: protected $primaryKey = 'cnic'; public function pending_jobs() { return $this->hasMany('App\PendingJobs', 'applicant_id'); } public function applicant() { retur

我在
申请人
待处理工作
之间有一对多关系,其中我的申请人模型有
cnic
主键,其中
待处理工作
申请人id
并将其作为外键指向
申请人
模型cnic列

申请人型号:

protected $primaryKey = 'cnic';

public function pending_jobs() {
    return $this->hasMany('App\PendingJobs', 'applicant_id');
}
public function applicant() {
    return $this->belongsTo('App\Applicant', 'applicant_id');
}
待处理工作模式:

protected $primaryKey = 'cnic';

public function pending_jobs() {
    return $this->hasMany('App\PendingJobs', 'applicant_id');
}
public function applicant() {
    return $this->belongsTo('App\Applicant', 'applicant_id');
}
我正在申请人中插入记录,如:

$req = new \App\Applicant;
$req->full_name = $request->get('full_name');
$req->cnic = $request->get('cnic');
$req->mobile_number = $request->get('mobile_number');
$req->save();
然后在
PendingJob
中记录:

$reqr = new \App\PendingJob;
$reqr->applicant_id = $request->get('cnic');
$reqr->job_type = 'residence';
$reqr->status = 'pending';
$reqr->save();
该记录保存并
cnic
,它是
申请人的
主键
,而
待处理工作
申请人id
指向
申请人的
cnic
也是相同的

但是


关系不加载,从phpmydamin手动插入记录可以正常工作。

工作流应为:

$reqr = new \App\PendingJob;
$reqr->job_type = 'residence';
$reqr->status = 'pending';

$req = new \App\Applicant;
$req->full_name = $request->get('full_name');
$req->cnic = $request->get('cnic');
$req->mobile_number = $request->get('mobile_number');

$reqr->applicant()->associate($req);

$reqr->save();
资料来源:

此外,我注意到申请人的主键是
cnic
,因此您的关系应根据Laravel文档指定
本地密钥

App\Application

public function pending_jobs() {
    return $this->hasMany('App\PendingJobs', 'applicant_id', 'cnic');
}
App\PendingJob

public function applicant() {
    return $this->belongsTo('App\Applicant', 'applicant_id', 'id');
}

您能否共享申请者和待处理职务表的列名?发布迁移。请解释“关系未加载”部分