2013-11-28 5 views
-1

Привет У меня есть для этого есть одно поле (URL), и я хочу, чтобы вставить URL напечатанный в виде в БД, как вставить данные в БД в CakePHP

Моя функция добавить в мой контроллер выглядит это:

public function add(){ 
    if($this->request->is('post')){ 

     // debug($this->Link->find('all'));//this works 

     $link = $this->Link->findByUrl($this->request->data['link']['url']); 
     if(empty($link)){ 
      //I will create the link 
      $this->Link->create($this->request->data, true);//true = ignoring the ID 
      $this->Link->save(null, true, array('url')); 

      //null = because I ready wrote "$this->request->data" in create 
      //true = I want to use VALIDATION 
      //array = I choose to SAVE this field only 
      echo "I've created the link"; 
      die($this->Link->id); 
     }else { 
      debug($link); 
      die("The link is already in the database"); 
      //je dois récupérer le lien 
     } 

    } 

Как я могу вставить в БД введенные ссылки?

ответ

1

Не уверены, какая версия Cake вы используете, но так, как это было бы нормально работать является:

  • create() новая ссылка
  • set() новые данные
  • save() ссылка

Пример:

 $this->Link->create(); 
     $this->Link->set($this->request->data['link']); 
     $save = $this->Link->save(); 
     echo $save ? "I've created the link" : "Error creating link!"; 
     die($this->Link->id); 
Смежные вопросы