Как правильно передать json и получить его в контроллере?

Передаю json массив в контроллер (namesDp)
$http({
            method: "POST",
            url: "http://localhost/cabinet/contracts/addContract",
            data: $.param({
                ......
                namesDp: $scope.data.model
            }),


В контроллере делаю так

$dpList = json_decode($_POST['namesDp']);

Ну и передаю этот массив в модель

if($this->model->addContract($dpList, $contractNumber,$contractTitle, $contractDate . . . ..


Вот модель

public function addContract( $dpList, $contractNumber,$contractTitle, $contractDate . . . . .. . . ) {


    foreach($dpList as $value) {

      $sql = "INSERT INTO contract(department, numberContract, nameContract, dateConclusion)
    VALUES(:department, :numberContract, :nameContract, :dateConclusion)
    ";
      $stmt = $this->db->prepare($sql);
      $stmt->bindValue(":department", $value, PDO::PARAM_INT);
      $stmt->bindValue(":numberContract", $contractNumber, PDO::PARAM_INT);
      $stmt->bindValue(":nameContract", $contractTitle, PDO::PARAM_STR);
      $stmt->bindValue(":dateConclusion", $contractDate, PDO::PARAM_STR);
      $stmt->execute();

. . ... .


Выходит ошибка
json_decode() expects parameter 1 to be string, array given in

Возможно тут есть еще ошибки.. при переборе массива
  • Вопрос задан
  • 73 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы