2014-04-04 10 views
8

Ho iniziato a utilizzare CakePHP3.0 per pura curiosità. Per familiarizzare con le nuove funzionalità di CakePHP3.0, ho seguito il tutorial del blog nel sito web ufficiale (http://book.cakephp.org/3.0/en/tutorials-and-examples/blog/blog.html). Quello che ho fatto è stato semplicemente copiare e incollare il codice sorgente lì. Tutto funziona bene, TRANNE i campi "creati" e "modificati" non salvati. Rimangono NULL. Ho confermato che questa funzione funziona perfettamente con CakePHP 2.4.6. Di seguito la definizione della tabella e la funzione add() per il tutorial del blog.I campi "creati" e "modificati" non sono impostati automaticamente in CakePHP3.0.0 (anteprima di sviluppo 2)

CREATE TABLE articles (
    id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY, 
    title VARCHAR(50), 
    body TEXT, 
    created DATETIME DEFAULT NULL, 
    modified DATETIME DEFAULT NULL 
); 

public function add(){ 
    $article = $this->Articles->newEntity($this->request->data); 
    if($this->request->is("post")){ 
     if($this->Articles->save($article)){ 
      $this->Session->setFlash("Success!"); 
      return $this->redirect(["action"=>"index"]); 
     } 
     $this->Session->setFlash("Fail!"); 
    } 
    $this->set(compact("article")); 
} 

risposta

0

Nella parte 2 del Blog tutorial, sembra vi siete persi la Creazione degli articoli Modello: http://book.cakephp.org/3.0/en/tutorials-and-examples/blog/part-two.html#create-an-article-model

// src/Model/Table/ArticlesTable.php 

namespace App\Model\Table; 

use Cake\ORM\Table; 

class ArticlesTable extends Table { 
    public function initialize(array $config) { 
     $this->addBehavior('Timestamp'); 
    } 
} 

L'inserimento del comportamento 'timestamp' è ciò che controlla questi timestamp campi e li tiene aggiornati.

+0

Questo funziona per me, maggiori informazioni: https://book.cakephp.org/3.0/en/tutorials-and-examples/blog/part-two.html –

Problemi correlati