2017-06-08 13 views
1

私は私の申請モデルがpendingJobapplicant_idを持っており、外部キーとしてApplicantモデルCNIC列にそれを指してcnic主キーを、持っているApplicantpendingJobの間に多くの関係、1つを持っています。Laravelレコード関係の問題

申請モデル:

protected $primaryKey = 'cnic'; 

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

PendingJobモデル:次にで録音

$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(); 

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

私は同じよう申請者にレコードを挿入しています:

$reqr = new \App\PendingJob; 
$reqr->applicant_id = $request->get('cnic'); 
$reqr->job_type = 'residence'; 
$reqr->status = 'pending'; 
$reqr->save(); 

レコードが保存され、Applicantprimary keyとs cnicApplicantを指しているのapplicant_idPendingjobが同じ来ているcnic

しかし

は関係が負荷、phpmydaminから手動レコード挿入は正常に動作しません。

+0

あなたは申請者とpendingJobテーブルのカラム名を共有することができますか? – kunal

+0

移行を転記してください。そして、「関係が読み込まれない」部分について説明してください –

答えて

1

ワークフローは、このようになります。

$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(); 

ソース:またhttps://laravel.com/docs/5.4/eloquent-relationships#the-save-method

、私は申請者のためのあなたの主キーがcnicはそうあなたの関係はに応じてlocal_keyを指定する必要があることに気づいています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'); 
}