我正在研究laravel 5.3,我必须从表中存储一个重复的行这里是我的函数,我得到以下错误 在null 上调用成员函数replicate() 请帮我修理一下 功能
public function copy($id){
$task = Task::find(1);
$newTask = $task->replicate();
$newTask->save();
}
答案 0 :(得分:0)
```
公共功能副本($ id){
$task = Task::find(1);
if (null !== $task) {
$newTask = $task->replicate();
if (null !== $newTask) {
$newTask->save();
}
}
} ```
答案 1 :(得分: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!
}
}