我正在寻找类似findOrDo()的东西.例如,在找不到数据时执行此操作.可能是这样的

Model::findOrDo($id,function(){
   return "Data not found";
});

在拉威尔有没有类似的东西可以让我优雅而美丽地完成这件事?

*我试着用谷歌搜索,但找不到

推荐答案

use Illuminate\Database\Eloquent\ModelNotFoundException;

// Will return a ModelNotFoundException if no user with that id
try
{
    $user = User::findOrFail($id);
}
// catch(Exception $e) catch any exception
catch(ModelNotFoundException $e)
{
    dd(get_class_methods($e)); // lists all available methods for exception object
    dd($e);
}

Laravel相关问答推荐

Laravel Horizo​​n 限制与优化

如何在自定义表单请求中获取错误验证数据

如何提取每组 groupBy 查询的唯一值?

验证错误后的 Laravel 自定义重定向

FileViewFinder.php 第 137 行中的 Laravel 5 InvalidArgumentException:未找到视图 [.admin]

Laravel Artisan Scheduler 中的链式命令?

localhost 和stream_socket_enable_crypto():SSL 操作失败,代码为 1

Laravel lockforupdate(悲观锁)

何时在 Laravel 中使用 Repository vs Service vs Trait?

在 laravel 分页中添加一些数据

Laravel 初学者的良好开端

如何仅在Blade模板存在时才包含它?

如何将对象(模型类型对象)插入到 Laravel 中特定索引号的集合对象中?

Laravel 更新语法 - 使用数组更新记录

Laravel - DecryptException:'MAC 无效'

Laravel Queue,Beanstalkd vs Database,有什么区别?

控制器中的laravel foreach循环

如何在 Laravel 中 Refresh刷新用户对象?

登录后 DevTools 无法解析 SourceMap 错误将重定向到该 js 文件

将值插入隐藏输入 Laravel Blade