检查是否设置了model属性(当为null时)

时间:2018-02-14 10:28:10

标签: php laravel

假设我有一个名为Fruit的模型,其null值可以seedsseeds列存在于数据库表中。

问题是当isset设置为null时,使用seeds为此模型属性返回false,或者它可能与__magic的东西有关吗?那么,即使模型设置为null或通过魔术声明,我如何检查模型是否具有属性$fruit = Fruit::find(1); if (isset($fruit->seeds)) { echo 'Yes'; } else { echo 'No'; }

例如:

No

如果数据库中seeds的值设置为null,则会回显Sub Update_Newest_Day_Conversions() Worksheets("CPC - Conversions DoD").Range("A1"). _ End(xlToRight).Select MyDate = Date - 1 While ActiveCell.Value < MyDate ActiveCell.Copy ActiveCell.Offset(0, 1) ActiveCell.Offset(0, 1).Select ActiveCell.Value = ActiveCell.Value + 1 Wend End Sub

2 个答案:

答案 0 :(得分:4)

您可以使用is_null()

if (isset($fruit->seeds) && !is_null($fruit->seeds)) {

答案 1 :(得分:-1)

如果值为NULL,则Isset返回false。 要正确检查属性是否存在,请使用property_exists

  

与isset()相反,即使属性值为NULL,property_exists()也返回TRUE。

if ( property_exists ( $fruit, 'seeds' ) )
{
    echo 'Yes'; // Value of $fruit->seeds can be NULL.
}
else
{
    echo 'No';
}