社区首页 >问答首页 >拉勒维尔残渣秀空

拉勒维尔残渣秀空
EN

Stack Overflow用户
提问于 2022-09-29 23:16:05
回答 4查看 109关注 0票数 2

我有一个有亲戚关系的蓝莓渣。但是,当我想要加载页面时,一些表行没有值。这会导致错误:“尝试读取null上的属性"name”

但是如何忽略这条消息并继续在页面中加载呢?

index.blade:

代码语言:javascript
代码运行次数:0
复制
    @foreach($files as $file)
        <tr>
            <td>{{$file->id}}</td>
            <td>{{$file->title}} </td>
            <td>{{$file->description_short}} </td>
            <td>{{$file->description_long}} </td>
            <td>{{$file->file}}</td>
            <td>{{$file->language->name}} </td>
            <td>{{$file->subfolder->name}} </td>
          
            <td>{{$file->role->name}} </td>
            <td>
                <a href="{{ route('admin.file.edit',$file->id)}}" class="btn btn-primary">Edit</a>
            </td>
            <td>
                <form action="{{ route('admin.file.destroy', $file->id)}}" method="post">
                  @csrf
                  @method('DELETE')
                  <button class="btn btn-danger" type="submit">Delete</button>
                </form>
            </td>
        </tr>
        @endforeach
    </tbody>
  </table>

主计长:

代码语言:javascript
代码运行次数:0
复制
 public function index()
    {
        $files = File::with('subfolder', 'language', 'tag')->get();
        $languages = Language::all();
        $tags = Tag::all();
        $subfolders = Subfolder::all();
        $users = User::all();    
        return view('admin.file.index', compact('files', 'languages', 'tags', 'users', 'subfolders'));
    }

我希望索引忽略所有空属性。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2022-09-29 23:24:04

在php变量之前使用@,如下所示。

代码语言:javascript
代码运行次数:0
复制
{{@$file->language->name}} 
票数 2
EN

Stack Overflow用户

发布于 2022-09-29 23:28:23

同时,通过使用

代码语言:javascript
代码运行次数:0
复制
{{ $file->language->name ?? '' }} # typical PHP way
{{ $file->language?->name }} # if object/relation "language" exist then access "name" propery

注意:

当您将@用于变量{{@$file->language->name}}时,我们将跳过错误消息。这意味着我们要告诉“别管这个变量”--这不是检查空的最好方法

票数 1
EN

Stack Overflow用户

发布于 2022-09-30 01:21:27

有多种方式:

  • 错误控制操作符: @$file->language->name -- @操作符禁止错误消息(imho不太干净:),但结果相同) 来自文档: //注意:@-运算符只对表达式起作用。一个简单的经验法则是:如果一个人能够获得某物的价值,那么你就可以将@操作符加到它前面。//例如,它可以被添加到变量、函数调用、某些语言构造调用(例如包含)中,等等。//它不能用于函数或类定义,或条件结构,如if和foreach,等等。

  • 经典三值算子方法 $file->language ? $file->language->name : null;

  • PHP7+:空合并操作符 $file->language->name ?? null;

  • PHP8+:空安全运算符 $file->language?->name; (惊人!:-)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73905220

复制
相关文章
Java如何在运行时识别类型信息?
在日常的学习工作当中,有一些知识是我们在读书的时候就能够习得;但有一些知识不是的,需要在实践的时候才能得到真知——这或许就是王阳明提倡的“知行合一”。
沉默王二
2019/09/17
1.1K0
pycharm如何在运行时打开控制台[通俗易懂]
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/173186.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/25
1K0
pycharm如何在运行时打开控制台[通俗易懂]
如何在运行时动态添加和删除Qt Widgets
在油管上看到一篇关于Qt的视频:[How to Add & Remove Qt Widgets Dynamically at Runtime](https://www.youtube.com/watc
ccf19881030
2021/06/29
4K0
如何在运行时(Runtime)获得泛型的真正类型
由于Java 的类型擦除机制,在编译时泛型都被转为了Object,例如List<String>经过编译之后将变为类型 List。可以通过以下的方式再运行时获得泛型的真正类型
用户3148308
2018/12/04
2.9K0
在运行时与构建时如何保护云计算基础设施
在当今的云原生世界中,随着基础设施的飞速发展,大规模构建云计算环境需要可再现性和弹性,因此需要从一开始就优先考虑快速更改和扩展基础设施的能力。
静一
2020/07/16
1.2K0
rez现在可以在运行时主动缓存包了!
大家早上好 由于最近rez官方更新十分频繁 我回家又把rez的配置文件章节又看了一遍 发现有一个新的关键的key cache_packages_path 其实早在去年好像2.61左右的版本这个功能就已经有了 但是那时候测试了,没有成功就放弃了 今天再次测试的时候发现可以正常用了 可能最近的几个版本已经修复了这个问题 配置起来十分简单 我们把默认的配置复制出来 默认配置在(/src/rez/rezconfig.py) 然后设置环境变量 set REZ_CONFIG_FILE="your/local/re
用户9897904
2022/07/14
5630
rez现在可以在运行时主动缓存包了!
silverlight如何在运行时用代码动态控制(或创建)动画
silverlight做一些复杂动画时,不可能所有的动画都事先用Blend之类的设计工具"画"好(或者在设计期就在vs里编好),很多时候我们希望在运行时能动态控制动画,或者凭空动态创建一段动画. s
菩提树下的杨过
2018/01/23
1.5K0
silverlight如何在运行时用代码动态控制(或创建)动画
在运行时扩展报表系统之报表指令
SFReportListenerDirective是SFReportListener的一个子类。它的目标,是支持在备注字段USER中的指令,这些指令用来告诉listener如何处理一个报表对象。举个例子,“:LISTENER ROTATE = -45”指令告诉listener去把这个对象逆时针旋转45度。因为USER可以被用于各种目的,所以SFReportListenerDirective支持的指令必须以“:LISTENER”开头(如果你在FOXPRO 2.x时代用过GENSCRNX,你就熟悉这种类型的指令了)。
加菲猫的VFP
2022/04/07
7340
在运行时扩展报表系统之报表指令
自适应查询执行:在运行时提升Spark SQL执行性能
Catalyst是Spark SQL核心优化器,早期主要基于规则的优化器RBO,后期又引入基于代价进行优化的CBO。但是在这些版本中,Spark SQL执行计划一旦确定就不会改变。由于缺乏或者不准确的数据统计信息(如行数、不同值的数量、NULL值、最大/最小值等)和对成本的错误估算导致生成的初始计划不理想,从而导致执行效率相对低下。
大数据学习与分享
2020/11/26
2.5K0
灵活的令人抓狂,如何在运行时修改某一个 Python 对象的类?
这样的场景你也可能遇到:调试的时候,我需要追踪某一个 Python 对象的属性变化,比如对象 someobj = SomeClass(),当 someobj 添加了一个属性( someobj.age = 14)或者修改了属性的值 (someobj.age = 18)的时候,打印这些变化。
somenzz
2022/10/25
9160
灵活的令人抓狂,如何在运行时修改某一个 Python 对象的类?
从 Java 和 JavaScript 来学习 Haskell 和 Groovy(元编程)
本篇文章的话题是元编程。首先来认识元编程,我在第一篇 《引子》里面已经介绍:元编程,指的是在运行时改变 “类” 的定义,例如访问、增加或修改等等。一言以蔽之,就是 “用程序来写程序”。在第二篇的 《类型系统》里面已经借由继承和接口的实现,介绍了一些利用元编程特性来增加或改变子类行为的方法。回顾语言发展的长河,其实是经历了一个从 “对象 -> 类 -> 元类” 到 “对象 -> 原型” 的发展过程的。所以,无论是类,还是元类,这样的概念其实都不是非有不可的,只是因为我们思考的习惯,特别是抽象的习惯而顺其自然地产生了。这一点我在 《编程范型:工具的选择》里面已经详细描述了,建议在往下阅读前移步。
四火
2022/07/18
5450
从 Java 和 JavaScript 来学习 Haskell 和 Groovy(元编程)
编译时多态和运行时多态
多态分为两种情况:编译时多态和运行时多态。 如果在编译时能够确定执行多态方法称为编译时多态,否则称为运行时多态。
用户7886150
2021/02/13
5620
编译时异常和运行时异常[通俗易懂]
Throwable: 有两个重要的子类:Exception(异常)和 Error(错误),二者都是 Java 异常处理的重要子类,各自都包含大量子类。
全栈程序员站长
2022/07/01
2.6K0
编译时异常和运行时异常[通俗易懂]
字节码编程,Javassist篇三《使用Javassist在运行时重新加载类》
通过前面两篇 javassist 的基本内容,大体介绍了;类池(ClassPool)、类(CtClass)、属性(CtField)、方法(CtMethod),的使用方式,并通过创建不同类型的入参出参方法,基本可以掌握如何使用这样的代码结构进行字节码编程。
小傅哥
2020/04/22
2.9K1
字节码编程,Javassist篇三《使用Javassist在运行时重新加载类》
有哪些方法可以在运行时动态生成一个Java类?
我们可以从常见的 Java 类来源分析,通常的开发过程是,开发者编写 Java 代码,调用 javac编译成 class 文件,然后通过类加载机制载入 JVM,就成为应用运行时可以使用的 Java 类了。从上面过程得到启发,其中一个直接的方式是从源码入手,可以利用 Java 程序生成一段源码,然后保存到文件等,下面就只需要解决编译问题了。 有一种笨办法,直接用 ProcessBuilder 之类启动 javac 进程,并指定上面生成的文件作为输入,进行编译。最后,再利用类加载器,在运行时加载即可。
葆宁
2019/04/18
2.5K0
Java 编译时多态和运行时多态
根据何时确定执行多态方法中的哪一个,多态分为两种情况:编译时多态和运行时多态。如果在编译时能够确定执行多态方法
全栈程序员站长
2022/09/01
6490
Java 编译时多态和运行时多态
点击加载更多

相似问题

如何修复QuasiQuoter警告?

13

如何在运行时编译代码

30

如何在运行时编译函数?

34

在运行时编译常量

32

如何在运行时编译CIFilter?

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文