Gun*_*tar 6 php laravel eloquent laravel-5
在我的Laravel代码中,当我在代码中的某处处理记录时,我正在向数组中添加新属性(例如$ obj-> newAttr = someContent),稍后当我dd()对象时它向我显示两个数组:# attributes和#original,但新创建的属性仅显示在#attributes数组中.
这是一个例子,当我dd()对象时,我得到了#attributes数组:
#attributes: array:21 [?
"field_name" => "229"
"company_name" => "Maya Dairy"
"seeding_rate" => 115
"id" => 11
"property_id" => 71
"acreage" => "73.80"
"status" => "current"
"dairy_crop_variety_id" => 19
"field_weight" => "1432.39"
"moisture" => "67.00"
"starch" => null
"yield_id" => 50
"crop" => "Wheat: <strong>Sumit 515</strong> @ <strong>21.3 T/c</strong>"
"variety" => "Sumit 515"
"planted_at" => "Nov 10, 2016"
"harvested_at" => "May 1, 2017"
"crop_age" => 172
"cropDateLink" => "Harvested: <a href="#" data-toggle="modal" data-target="#editRowCrop" data-id="11" data-method="PATCH"><strong>May 1, 2017</strong> (172 days)</a>"
"yield" => 21.3
"inputs" => ""
"files" => ""
Run Code Online (Sandbox Code Playgroud)
和原始数组:
#original: array:16 [?
"field_name" => "229"
"company_name" => "Maya Dairy"
"seeding_rate" => 115
"id" => 11
"property_id" => 71
"acreage" => "73.80"
"status" => "current"
"dairy_crop_variety_id" => 19
"field_weight" => "1432.39"
"moisture" => "67.00"
"starch" => null
"yield_id" => 50
"crop" => "Wheat"
"variety" => "Sumit 515"
"planted_at" => "2016-11-10"
"harvested_at" => "2017-05-01"
Run Code Online (Sandbox Code Playgroud)
这些数组有什么区别?有时,新创建的属性在视图中不可用.我不知道为什么.任何建议都非常感谢.
jed*_*ylo 10
$ attributes包含模型属性的当前版本.$ original应该包含给定对象的原始值,因此在这里您将找到创建对象的值或从数据库加载的值.
注意:一旦将模型保存到数据库,$ original值足够聪明,可以使用新值进行更新 - 这个数组应该反映数据库中对象的数据.
归档时间: |
|
查看次数: |
1448 次 |
最近记录: |