Laravel 使用where子句时不选择日期属性
我面对着这个奇怪的问题,提出了雄辩的问题 我的模型看起来像这样:Laravel 使用where子句时不选择日期属性,laravel,eloquent,Laravel,Eloquent,我面对着这个奇怪的问题,提出了雄辩的问题 我的模型看起来像这样: class MyModel extends Model { // ... $protected $dates = [ "some_date", ] } $myModel = MyModel::find(1); echo $myModel->toJson(); 使用类似这样的查询时: class MyModel extends Model { // ... $protecte
class MyModel extends Model {
// ...
$protected $dates = [
"some_date",
]
}
$myModel = MyModel::find(1);
echo $myModel->toJson();
使用类似这样的查询时:
class MyModel extends Model {
// ...
$protected $dates = [
"some_date",
]
}
$myModel = MyModel::find(1);
echo $myModel->toJson();
我得到这个输出:
{
"id" : 1
"some_date" : "../../../"
}
但当我使用此查询时:
$myModel = MyModel::where('id', '=', 1)->get();
echo $myModel->toJson();
我得到一个奇怪的输出:
{
"id" : 1
}
where子句没有选择日期属性!为什么会发生这种情况?两种方法之一: 如果模型上定义了
$hidden
数组,请确保该数组不包含此列
--或--
如果没有$hidden
数组,请确保没有$visible
数组,如果定义了$visible
数组,请确保所需的列在其中
Laravel删除序列化为json时隐藏或不可见的列。日期列的数据类型是否正确?模型上的
$hidden
和$visible
数组有哪些列?我的模型中没有使用任何$visible或$hidden属性。看起来基本模型包含隐藏属性与我正在使用的匹配。现在它起作用了。您可以将您的评论作为答案发布,以便我对其进行验证;foreach($myModels作为$myModel){echo$myModel->toJson();}