摘要:中的又一个辅助函数可以允许你访问给定对象的属性或者方法。下面举例来看下。不妨你也试试吧更多知识,可前往
Laravel 中的又一个辅助函数 optional() 可以允许你访问给定对象的属性或者方法。如果给定的对象是 null,属性或方法将会返回 null 代替返回 error。
下面举例来看下。
// app/Models/User.php class User extends Model { //... public function account() { //... } //... }
// user1 存在,account 对象也存在 $user1 = User::find(1); $accountId = $user1->account->id; // 123 // user2 存在,但是 account 对象不存在 $user2 = User::find(2); $accountId = $user2->account->id; //这时会报: PHP Error: Trying to get property of non-object // 如果不用 optional(), 你可能会这么判断 $accountId = $user2->account ? $user2->account->id : null; // null $accountId = $user2->account->id ?? null; // null // 用 optional(),简单搞定,是不看起来很优雅呢 $accountId = optional($user2->account)->id; // null
当使用不可用的对象或调用不可用的Eloquent关系中的嵌套数据时,optional() 助手是理想选择。
不妨你也试试吧 ^_^
更多PHP知识,可前往 PHPCasts
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/30722.html
摘要:是一个极其好用的代码提示及补全工具,可以给编写代码带来极大的便利。例如事件将返回一个对象,利用文件您可以调用并且它将自动完成的方法。提示您可能需要重启使文件生效。 showImg(https://segmentfault.com/img/remote/1460000014528926); Laravel IDE Helper 是一个极其好用的代码提示及补全工具,可以给编写代码带来极大的...
摘要:使用开发一个自动交割的项目,把使用到的开源扩展包及特性整理起来,以供后续使用。一安装提示工具是一个极其好用的代码提示及补全工具,可以给编写代码带来极大的便利。更多关于的任务调度,请看考该文的任务调度计划任务功能 使用 Laravel5.5 开发一个自动交割的项目,把使用到的开源扩展包及特性整理起来,以供后续使用。 一、安装IDE提示工具 Laravel IDE Helper 是一个极其...
摘要:要解决此问题,只需运行以下命令即可使用包函数将字符串转换为复数形式。函数接受两个参数一个值和一个闭包。该值将被传递给闭包,然后该值将被返回。更新方法返回布尔值,但由于用了,所以它将返回。这对调试非常有用。函数根据给定的字符串生成一个友好的。 Laravel包含各种全局辅助函数(helper), 你可以使用它们使开发工作流程更加轻松。 在这里,我将会列一下10个最好的 Laravel h...
摘要:而且,与是一对多关系一个分类下有很多,一个只能归属于一个与是一对多关系一篇博客下有很多,一条只能归属于一篇与是多对多关系一篇有很多,一个下有很多。 说明:本文主要聊一聊Laravel测试数据填充器Seeder的小技巧,同时介绍下Laravel开发插件三件套,这三个插件挺好用哦。同时,作者会将开发过程中的一些截图和代码黏上去,提高阅读效率。 备注:在设计个人博客软件时,总会碰到有分类Ca...
摘要:文章转自包含各种全局辅助函数。返回应用程序中公共目录的完全限定的绝对路径。要解决此问题,只需运行以下命令即可使用包函数将字符串转换为复数形式。该值将被传递给闭包,然后该值将被返回。方法返回布尔值,但由于用了,所以它将返回。 showImg(https://segmentfault.com/img/remote/1460000018944915?w=1408&h=846); 文章转自:h...
阅读 2805·2019-08-30 15:55
阅读 2852·2019-08-30 15:53
阅读 2288·2019-08-26 13:47
阅读 2550·2019-08-26 13:43
阅读 3152·2019-08-26 13:33
阅读 2794·2019-08-26 11:53
阅读 1789·2019-08-23 18:35
阅读 795·2019-08-23 17:16