dsfds2353
2017-09-09 17:42
浏览 72
已采纳

Yii2 - 初始化具有数组值的模型

How to create a model which is have a default value from another array.

I mean, if I have an array like this :

[
0 => [
    'remarks' => 'ACETONE - '
    'material' => '70.00'
]
1 => [
    'remarks' => 'Leak Test 1 Bar'
    'material' => '13.50'
]
2 => [
    'remarks' => 'Foot Valve Incapsulated O-Ring 1 pcs - Replace'
    'material' => '6.70'
]
3 => [
    'remarks' => 'Seal Teflon 3\" Bottom Valve - Replace'
    'material' => '10.50'
]
4 => [
    'remarks' => 'Gasket Carton Bottom Valve 4 Hole 2 pcs - Replace'
    'material' => '14.60'
]
]

You know, The model just store one default value like this :

$modelJobOrderDetails =[new JobOrderDetail([
                'remarks' => ?? get from array above
                'material' => ?? get from array above
            ])] ;

How about to store those array into this model ? Please advise.

图片转代码服务由CSDN问答提供 功能建议

如何创建一个具有另一个数组默认值的模型。 < p>我的意思是,如果我有这样的数组:

  [
0 =&gt;  [
'remarks'=&gt;  'ACETONE  - '
'material'=&gt;  '70 .00'
] 
1 =&gt;  [
'remarks'=&gt;  '泄漏测试1条'
'材料'=&gt;  '13 .50'
] 
2 =&gt;  [
'remarks'=&gt;  '脚踏阀封装O形圈1个 - 更换'
'材料'=&gt;  '6.70'
] 
3 =&gt;  [
'remarks'=&gt;  '密封铁氟龙3 \“底阀 - 更换'
'材料'=&gt; '10 .50'
] 
4 =&gt; [
'备注'=&gt;'垫片纸箱底阀4孔2个 - 更换 '
'material'=&gt; '14 .60'
] 
] 
   
 
 

您知道,该模型只存储一个默认值,如下所示:

  $ modelJobOrderDetails = [new JobOrderDetail([
'remarks'=&gt; ??从数组上方获取
'material'=&gt; ??从上面的数组获取
  ]); 
   
 
 

如何将这些数组存储到此模型中? 请告知。

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • doubo4824 2017-09-09 18:19
    已采纳

    assuming you have

     $myArray =    [
          0 => [
              'remarks' => 'ACETONE - '
              'material' => '70.00'
          ]
          1 => [
              'remarks' => 'Leak Test 1 Bar'
              'material' => '13.50'
          ]
          2 => [
              'remarks' => 'Foot Valve Incapsulated O-Ring 1 pcs - Replace'
              'material' => '6.70'
          ]
          3 => [
              'remarks' => 'Seal Teflon 3\" Bottom Valve - Replace'
              'material' => '10.50'
          ]
          4 => [
              'remarks' => 'Gasket Carton Bottom Valve 4 Hole 2 pcs - Replace'
              'material' => '14.60'
          ]
        ];
    

    you could iterate over your array an poplulatin using model-attributes

      foreach($mymodel as $key = $value)        {
          $models[$key] = new JobOrderDetail();
          $models[$key]->attributes = $value;
    
      } 
    

    http://www.yiiframework.com/doc-2.0/guide-structure-models.html#massive-assignment

    评论
    解决 无用
    打赏 举报
查看更多回答(1条)

相关推荐 更多相似问题