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;
基础教程推荐
猜你喜欢
- 在PHP中根据W3C规范Unicode 2022-01-01
- PHP 类:全局变量作为类中的属性 2021-01-01
- 如何在 Laravel 中使用 React Router? 2022-01-01
- PHP PDO MySQL 查询 LIKE ->多个关键词 2021-01-01
- 如何替换eregi() 2022-01-01
- 学说 dbal querybuilder 作为准备好的语句 2022-01-01
- 有什么方法可以用编码 UTF-8 而不是 Unicode 返回 PHP`json_encode`? 2021-01-01
- Cron Jobs 调用带有变量的 PHP 脚本 2022-01-01
- YouTube API v3 点赞视频,但计数器不增加 2022-01-01
- 如何在 Laravel 5.3 注册中添加动态下拉列表列? 2021-01-01
