CakePHP上的“isset或empty中的非法偏移类型”

时间:2017-04-04 15:06:35

标签: php cakephp

(首先,对不起我的英语)

我的大学项目有问题。

  

警告(2):isset或空的非法偏移类型[CORE / Cake / Model / Model.php,第1878行]

     

警告(2):未设置的非法偏移类型[CORE / Cake / Model / Model.php,第1879行]

     

警告(2):isset或空的非法偏移类型[CORE / Cake / Model / Model.php,第1931行]

     

注意(8):未定义索引:长度[CORE / Cake / Model / Model.php,1992行]

     

警告(2):非法偏移类型[CORE / Cake / Model / Model.php,第1963行]

当我点击“警告”时,我得到了这个:

  

Model :: _ doSave() - CORE / Cake / Model / Model.php,第1878行

     

Model :: save() - CORE / Cake / Model / Model.php,第1758行

     

ProduitsController :: ajout_panier() -   APP / Controller / ProduitsController.php,第75行

     

ReflectionMethod :: invokeArgs() - [internal],line ??

     

Controller :: invokeAction() - CORE / Cake / Controller / Controller.php,line   491

     

Dispatcher :: _ invoke() - CORE / Cake / Routing / Dispatcher.php,第193行

     

Dispatcher :: dispatch() - CORE / Cake / Routing / Dispatcher.php,第167行

     

[main] - APP / webroot / index.php,第111行

有功能

public function ajout_panier()
{
    parent::setUserName();
    foreach ($this->request->data['ajout_panier'] as $key => $castor)
    {
        if ($castor != null) {
            $produit = $this->Produit->find('first', array('conditions' => array('id' => $key)));
            if ($produit['Produit']['quantite'] - ($castor + 1) >= 0)
            {
                $already_exist = $this->Panier->find('first', array('conditions' => array('utilisateur_id' => $this->Auth->user()['id'], 'produit_id' => $key)));
                $this->Panier->set(array('utilisateur_id' => $this->Auth->user()['id'], 'produit_id' => $key, 'quantite' => ($castor + 1)));
                if ($already_exist != array()) {
                    $this->Panier->deleteAll(array('id' => $already_exist['Panier']['id']), false);
                    $this->Panier->clear();
                    $this->Panier->set(array('utilisateur_id' => $this->Auth->user()['id'], 'produit_id' => $key, 'quantite' => ($already_exist['Panier']['quantite'] + $castor + 1)));
                }
                $this->Panier->save(); // LINE 75
                $this->Produit->save(array('id' => $produit['Produit']['id'], 'quantite' => ($produit['Produit']['quantite'] - ($castor + 1))));
                $this->Produit->clear();
                $this->Panier->clear();
            }
            else
            {
                $this->Flash->set("Bug détectée");
            }
        }
    }
    $this->Flash->success('Votre panier a été rempli par les articles demandés');
    $this->index();
}

所以......我现在对cakePHP并不是很好。但是我的老师(这是我们给大学老师的名字吗?),对我没有帮助。

有什么想法吗?其他“保存”功能运作良好......

0 个答案:

没有答案