【问题标题】:PHP foreach loop SQL insertPHP foreach 循环 SQL 插入
【发布时间】:2017-09-29 15:29:35
【问题描述】:

这样的事情可能吗?为数组中的每个项目插入数据库?我该怎么做,因为显然这不起作用。目前它从数组中取出最后一项并插入其数据。

    foreach ($properties as $prop): 
       $productProp = new ProductProperty();

       $productProp->product_id = $product->ID;
       $productProp->properties_id = $property->ID;
       $productProp->set_properties_id = $set_property->ID;
    endforeach;

$productProp->save(); //inserts into database

【问题讨论】:

  • 为什么不把存档放在endforeach;之前?
  • 好吧,也许如果你将 save() 函数添加到循环中..?
  • 目前您正在重置每次迭代的属性。在循环内移动 save() 调用。
  • 哈哈,这就尴尬了。我想我需要从我的项目中休息一下。无论如何谢谢大家...

标签: php arrays loops foreach


【解决方案1】:

您必须为每个对象写入数据库。

  1. 创建对象

  2. 将对象的属性设置为特定值

  3. 在数据库中插入对象

并在您的数组仍有条目(对象)时重复。


代码:

foreach ($properties as $prop): 
   //Create a new object 
   $productProp = new ProductProperty();
   //Set the attributes 
   $productProp->product_id = $product->ID;
   $productProp->properties_id = $property->ID;
   $productProp->set_properties_id = $set_property->ID;
   //Insert it in the database 
   $productProp->save();
endforeach;

【讨论】:

  • 我现在要去重新思考我的生活。谢谢!
  • 没关系的朋友,我们都会犯错。我确定我过去犯了一个小错误,有人帮助了我。一个建议:试着像别人的代码一样逐行阅读你的代码,这样你就可以跟踪逻辑缺陷。
  • 这是一个非常愚蠢的错误,但是确实会发生这样的事情。无论如何谢谢:)
猜你喜欢
  • 2012-12-20
  • 1970-01-01
  • 2012-06-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-30
  • 1970-01-01
  • 2013-04-26
相关资源
最近更新 更多