どういうわけか、私の外部キーを保存しようとすると、私のlaravelの関係は機能しません。Laravelの外部キーがnull
クライアント移行
Schema::create('clients', function(Blueprint $table)
{
$table->increments('id');
$table->string('name');
$table->string('email')->unique();
$table->string('password');
$table->rememberToken();
$table->timestamps();
});
問い合わせ移行
Schema::create('inquiries', function(Blueprint $table)
{
$table->increments('id');
$table->unsignedInteger('client_id')->nullable();
$table->unsignedInteger('device_id')->nullable();
$table->string('android_device_token')->default('');
$table->integer('status')->default(0);
$table->timestamps();
$table->foreign('client_id')->references('id')->on('clients')->onDelete('cascade');
$table->foreign('device_id')->references('id')->on('devices')->onDelete('cascade');
});
要求を入れて、このようにそれを保存しようとしますが、データベースは私ヌル
$data = array(
"device_id" => $request->input('device_id'),
"client_id" => Client::find($request->input('client_id'))->id,
"android_device_token" => $inquiry->android_device_token,
"status" => $request->input('status')
);
$inquiry->fill($data);
$inquiry->save();
モデルの関係を示す続けます:
お問い合わせ:
public function client()
{
return $this->hasOne(Client::class);
}
クライアント:照会モデルはbelongsToの関係を持っている必要があり
protected $table = 'inquiries';
protected $fillable = ['client_id', 'device_id', 'android_device_token', 'status'];
public function inquiry()
{
return $this->hasMany(Inquiry::class);
}
はあなたが私たちに 'Inquiry'のためのモデルを示していることはできますか? –
あなたの '$ inquiry'には何がありますか? – PaladiN
@ArigiWiratama ok私はそれらを上に追加しました – junikear