Property exists but property_exists() return false;(属性存在,但Property_Existes()返回FALSE;)
本文介绍了属性存在,但Property_Existes()返回FALSE;的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
嗯,我真的很困惑。 当我检查属性是否存在时,它返回FALSE。
if (property_exists($pais, 'id'))
// false
但当我调试时,它会显示它在那里。
print_r($pais->id);
// 1
print_r(property_exists($pais, 'id'));
// false
是我疯了还是我的神经元被烧坏了?
,PAI的创建由
完成if (key_exists('country', $data))
$pais = Pais::adicionarPais($data);
(...)
public static function adicionarPais(array $data)
{
return Pais::firstOrCreate(['nome' => $data['country']]);
}
推荐答案
我看到您使用的是Laravel,所以我猜这是很有说服力的模型。他们可能正在使用神奇的方法从您的数据库列创建动态属性和方法。请看这里:http://php.net/manual/en/language.oop5.overloading.php
因此,每次您请求属性时,它们将检查是否有任何列或关系,并返回该列或关系,而不是具有实际属性。
您可以使用getAttributes()
方法(https://github.com/illuminate/database/blob/master/Eloquent/Concerns/HasAttributes.php#L851)
class Pais
{
public function __get($name) {
if ($name == 'id') {
return 1;
}
}
}
$pais = new Pais();
var_dump($pais->id); // int(1)
var_dump(property_exists($pais, 'id')); // bool(false)
这篇关于属性存在,但Property_Existes()返回FALSE;的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
沃梦达教程
本文标题为:属性存在,但Property_Existes()返回FALSE;
基础教程推荐
猜你喜欢
- XAMPP 服务器不加载 CSS 文件 2022-01-01
- 通过 PHP SoapClient 请求发送原始 XML 2021-01-01
- 超薄框架REST服务两次获得输出 2022-01-01
- WooCommerce 中选定产品类别的自定义产品价格后缀 2021-01-01
- 在 PHP 中强制下载文件 - 在 Joomla 框架内 2022-01-01
- 在多维数组中查找最大值 2021-01-01
- 如何在 PHP 中的请求之间持久化对象 2022-01-01
- Libpuzzle 索引数百万张图片? 2022-01-01
- mysqli_insert_id 是否有可能在高流量应用程序中返回 2021-01-01
- 在 Woocommerce 中根据运输方式和付款方式添加费用 2021-01-01