在我的控制器中,我希望有这个:
class TodoController extends Controller {
public function getDone($todoId)
{
Todo::find($todoId)->markAsDone();
}
}
模特我:
class Todo extends Eloquent {
public function markAsDone()
{
if (???) {
$this->is_done = 1;
$this->save();
}
}
}
如何检查模型是否已找到且存在于$this
中?
答案 0 :(得分:1)
在您的情况下,检查ToDo
对象的存在只能在控制器中完成。因为在您当前的代码Todo::find($todoId)->markAsDone();
中,如果$todoId
无效,您将会遇到大错误trying to get property of non-object
。所以最好这样做。
class TodoController extends Controller {
public function getDone($todoId)
{
$todo = Todo::find($todoId);
if ($todo) {
$todo->markAsDone();
}
}
}
在你的模特中
class Todo extends Eloquent {
public function markAsDone()
{
$this->is_done = 1;
$this->save();
}
}