2016-10-28 10 views
0

私はlaravel 5.3で作業しています。テーブルから重複する行を格納する必要があります。私の関数です。次のエラーが発生しています。 メンバー関数 機能 私はそれを修正するために助けてくださいヌル上)(複製null(Laravel 5.3)のメンバ関数replicate()を呼び出す

public function copy($id){ 

$task = Task::find(1); 
$newTask = $task->replicate(); 
$newTask->save(); 
    } 
+0

あなたは '$のtask'が正しい値を持っていますか? –

+0

はい私は仕事ですべてのことを慎重に定義しています@Sougata Bose –

+1

まあ、エラーmssageは '$ task'がnullだと言います。そのIDのタスクはほとんどありません。 – nXu

答えて

0

`` `

パブリック関数のコピー($のID){

$task = Task::find(1); 
if (null !== $task) { 
    $newTask = $task->replicate(); 
    if (null !== $newTask) { 
     $newTask->save(); 
    } 
} 

} `` `

+0

ok done @Vincent –

0

あなたがfirstOrFail method of Laravel's Eloquentを使用することができますこの問題を読みやすくするために。 id - 1の結果が見つからない場合は、Illuminate\Database\Eloquent\ModelNotFoundExceptionがスローされ、これを捕まえてさらに進めることができます。

コードは次のようになります:

public function copy($id) { 
    try { 
    $task = Task::firstOrFail(1); 
    $newTask = $task->replicate(); 
    $newTask->save(); 
    } catch(Exception $e) { 
     // If nothing found with that (1) id, then the throws exception is catched here! 
    } 
} 
関連する問題