繁体   English   中英

如何在php中访问外观上的属性

[英]How to access properties on a facade in php

当我转储这个Customer::where('email', '=', $inputObj['email']-first();输出有一些属性。其中一些有#和其他有+ 。例如,一个是+exists: true ,我可以通过->exists()访问它并返回true 。另一个是#attributes: array:10 [...]我可以看到它是一个关联数组,在dump有值,但我不能像这样访问->attributes或像这样['attributes'] 。不同的符号是什么意思,我如何访问属性属性中的值?

我真的很想深入了解正在发生的事情,因此感谢任何有启发性的评论(:

这些符号用于可见性,请参考:

https://stackoverflow.com/a/4361582/8637968

您无法访问“属性”,因为它是私有属性,请记住 Laravel 中的 var_dump() 或 dd()(代表 dump 和 die)旨在用于调试目的,这就是您看到私有属性的原因,但是私有属性只能从类内部访问,在 Laravel 的情况下,您可以访问“属性”数组中的属性作为属性本身,例如:假设对于您的客户模型,您有一个名为“名称”的列,该列将位于“属性”数组内,您可以像这样访问它:

$customer = Customer::where('email', '=', 'some_email@mail.com')->first();
$customer->name; // assuming that the model exists, i.e: if ($customer != null) {}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM