私はメンバーとSkyMedRepモデルを持っている:Laravel外部キー関係 - フィールドリストの不明な列
class SkyMedRep extends Model
{
protected $fillable = [
'id','rep_id',
];
public function members()
{
return $this->hasMany('App\Member');
}
}
class Member extends User
{
public function sky_med_rep()
{
return $this->belongsTo('App\SkyMedRep');
}
}
これは、メンバーの移行です:
public function up()
{
Schema::create('members', function (Blueprint $table) {
$table->increments('id');
$table->integer('sky_med_rep_id')->unsigned();
$table->timestamps();
});
Schema::table('members', function($table) {
$table->foreign('sky_med_rep_id')->references('id')- >on('sky_med_reps')->nullable(true);
});
}
メンバーモデルはSkyMedRep model.Afterを参照する外部キーが含まれています私はSkyMedRepモデルのオブジェクトをMemberモデルのオブジェクトに代入しようとしています:
$member->sky_med_rep = $sky_med_rep;
ここで$ memberはメンバモデルのオブジェクト、$ sky_med_repはSkyMedRepモデルのオブジェクトです。
$ member-> save()を実行すると、「フィールドリストに「sky_med_rep」という不明な列があります」というエラーが表示されます。 sky_med_repが外部キー参照として扱うことができないようです。
$member = new Member();
$member->sky_med_member_number = $request->input("sky_med_member")['member_number'];
$sky_med_rep = SkyMedRep::firstOrNew(['rep_id' => $request->input("sky_med_member")['rep_id']]);
$sky_med_rep->name = $request->input("sky_med_member")['name'];
$sky_med_rep->save();
$member->sky_med_rep = $sky_med_rep;
$member->save();
正確にエラーが発生したときは教えてください。あなたの質問も教えてください。 – Qazi
$ member = new Member(); $ member-> sky_med_member_number = $ request-> input( "sky_med_member")['member_number']; $ sky_med_rep = SkyMedRep :: firstOrNew(['rep_id' => $ request-> input( "sky_med_member")['rep_id']]); $ sky_med_rep-> name = $ request-> input( "sky_med_member")['name']; $ sky_med_rep-> save(); $ member-> sky_med_rep = $ sky_med_rep; $ member-> save(); メンバーオブジェクトを保存中にエラーが発生します。 SkyMedRepオブジェクトで$ member-> sky_med_repを割り当てました。しかし、保存中に、不明なフィールドリストが表示されています –
あなたの質問に追加情報を含めるように[編集]してください。 –