вставка вложенного для l oop (что я делаю не так) - PullRequest
0 голосов
/ 07 мая 2020

Моя модель

вставка только 2 строк в content_for table

public function add($data, $content_role = array()) {    
    $this->db->insert_batch('contents', $data);        
    $count      = count($data);
    $insert_id  = $this->db->insert_id();  // Returning ID
    $last_id    = $insert_id + ($count-1);
    $f_data     = $insert_id;
    $l_data     = $last_id;

    if (isset($content_role) && !empty($content_role)) {
        while($f_data <= $l_data) {                
            $total_rec = count($content_role);                
            for ($i = 0; $i < $total_rec; $i++) {
                $content_role[$i]['content_id'] = $insert_id;
            }
            $f_data++;
        }

        $this->db->insert_batch('content_for', $content_role);
    }

}

1 Ответ

0 голосов
/ 07 мая 2020

Условия в вашем операторе if никогда не выполняются. Вы инициализируете пустой массив при вызове функции. Он никогда не устанавливается и всегда пуст. Нет причин даже проверять это, если вы собираетесь это сделать.

<?php

    $content_role = array();

    if (isset($content_role) && !empty($content_role)) {
    echo 'You will never see me';        
    }else{
    echo 'Never set and always empty';    //You'll only ever get this
    }

?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...