2016-08-16 3 views
1

こんにちは私は似たような解決策を探していましたが、どこにも見つかりませんでした。私は1つがあるかどうかわからない。私がしようとしているのは、自分のモデルのいずれかでsoftDeleteを実行し、アクションを実行しているユーザーのidでモデルのuser_idを更新したいとします。私はassociate()を使用しようとしましたが、例外をスローしませんが動作しません。モデルとでは問題はありませんいいえ:私はここに私の予定モデルがsoftDeletes()で外部キーを更新

use Illuminate\Database\Eloquent\Model; 
use Illuminate\Database\Eloquent\SoftDeletes; 
class emp_appointment extends Model{ 
    use SoftDeletes; 
    protected $dates = ['deleted_at']; 

    public function employee(){ 
     return $this->belongsTo('App\Models\employee','emp_id'); 
    } 

    public function user(){ 
     return $this->belongsTo('App\Models\tb_login','userid'); 
    } 
} 

PSだ、私は

public function postDelete(Request $request){ 
    $appointment = \App\Models\emp_appointment::findOrFail($request->appid); 
    $user = $request->user(); 
    $appointment->user()->associate($user); 
    $appointment->delete(); 
} 

を試みたものを削除が動作しているが、idをここで

を更新していないです意味しますエラーはどこにでもあります。問題のみuseridは、アポイントテーブルで更新されません。

答えて

0

削除方法は

を(協会)の変更を保存していないように思えるが

public function postDelete(Request $request){ 
    $appointment = \App\Models\emp_appointment::findOrFail($request->appid); 
    $user = $request->user(); 
    $appointment->user()->associate($user); 
    $appointment->save(); 
    $appointment->delete(); 
} 

EDIT

public function postDelete(Request $request){ 
    $appointment = \App\Models\emp_appointment::findOrFail($request->appid); 
    $user = $request->user(); 
    $appointment->user()->associate($user); 
    $appointment->deleted_at= date('Y-m-d H:i:s'); 
    $appointment->save(); 
} 
+0

を削除しかし、私はこの2つの異なるクエリを実行すると思い、最初の保存してください。とにかく私はこれを単一のクエリで行うことができると思っていました。 – jonju

+0

はい、これは2つのクエリを実行します。私はあなたが手動でそれを削除することができる場合は、softDeleteを使用すると仮定します。edit –

関連する問題