Php 将数组json放在mysql返回数组上

Php 将数组json放在mysql返回数组上,php,mysql,arrays,angularjs,slim,Php,Mysql,Arrays,Angularjs,Slim,字段“cats”是Angular app中的一个选择框,包含表格cats中的数据,带有id、名称和模块id 用于添加项目的Slim框架上的函数 function addItem($section) { $request = \Slim\Slim::getInstance()->request(); $item = json_decode($request->getBody()); $sql = "INSERT INTO " .$section. " (title, s

字段“cats”是Angular app中的一个选择框,包含表格cats中的数据,带有id、名称和模块id

用于添加项目的Slim框架上的函数

function addItem($section) {

  $request = \Slim\Slim::getInstance()->request();
  $item = json_decode($request->getBody());

  $sql = "INSERT INTO " .$section. " (title, subtitle, slug, excerpt, originalDate, content, cats, published) VALUES (:title, :subtitle, :slug, :excerpt, :originalDate, :content, :cats, :published)";

  try {
      $db = getConnection();
      $stmt = $db->prepare($sql);

      $stmt->bindParam("title", $item->title);
      $stmt->bindParam("subtitle", $item->subtitle);
      $stmt->bindParam("slug", $item->slug);
      $stmt->bindParam("excerpt", $item->excerpt);
      $stmt->bindParam("originalDate", $item->originalDate);
      $stmt->bindParam("content", $item->content);
      $stmt->bindParam("cats", $item->cats);
      $stmt->bindParam("published", $item->published);

      $stmt->execute();
      $item->id = $db->lastInsertId();
      $db = null;

      print_r(json_encode($item));
  } 
  catch(PDOException $e) {
      echo '{"error":{"text":'. $e->getMessage() .'}}';
  }
}
角度代码,用于选择框

<div class="col-sm-12 m-b-30">
  <p class="f-500 c-black m-b-15">Categorias</p>
  <div class="btn-group bootstrap-select show-tick">
    <button type="button" class="btn selectpicker btn-default" ng-model="item.cats" data-toggle="dropdown" title="Selecione a Categoria" aria-expanded="false" data-html="1" data-multiple="1" bs-options="cats.id as cats.name for cats in categorias" bs-select>
      Selecione a categoria <span class="caret"></span>
    </button>

  </div>
</div>


如评论中所述,问题的编辑中提供了解决方案,我只是将答案放在这里(根据评论中的建议进行修改)

this->cats
是一个数组-首先使用以下命令将其转换为字符串:

$cats=implode(',',$item->cats);
然后把他绑起来:

$stmt->bindParam("cats", $cats);

POST by JSON=cats[“1”,“2”]content“dfgdfgdfg”摘录“dfgdfgdfg”originalDate“2015-06-24T03:00:00.000Z”发布了真实部分“posts”slug“gdfg”副标题“gdf”标题您可以发布角度代码感谢所有回复者,我今天早上得到了答案。我将在这里发布结果。
$cats=内爆(“,”,$item->cats)比循环更容易。@MarcoRiesco如果你得到了上面提到的答案,请在这里发布并接受你自己的答案。别把问题留着不谈。谢谢
$cats=implode(',',$item->cats);
$stmt->bindParam("cats", $cats);