Thanks again. Last question of the day - what to do to get created and modified fields to work automagically. Created can be defaulted to current timestamp, what about modified?
Tarique On Wed, Mar 12, 2014 at 3:01 PM, José Lorenzo <jose....@gmail.com> wrote: > Entities go in App/Model/Entity/ and they should be the singular of your > table without suffixes. For example App/Model/Entity/Article.php that way > cakephp will be able to load it and know it is associated to ArticlesTable. > > If you wish to divert from the conventions you can change it in your table > class: > > class ArticlesTable extends Table { > > public function initialize(array $config) { > $this->entityClass('App\Model\ArticleEntity'); > } > } > > In general I would not recommend this as it makes it harder for the > FormHelper to figure out where stuff is. > > > On Wednesday, March 12, 2014 10:12:30 AM UTC+1, Dr. Tarique Sani wrote: > >> ok that brings me to the next question. >> >> How do I get $article = $this->Articles->newEntity($this->request->data); >> to use the Entity class I have created in App/Model/ArticleEntity.php ? >> Doesn't the controller automagically include it, What is the convention for >> Entity classes? >> >> Tarique >> >> >> >> On Wed, Mar 12, 2014 at 12:53 PM, José Lorenzo <jose...@gmail.com> wrote: >> >>> This could possibly be the most difficult part to understand in 3.0 and >>> may be subject to change if it turns out to be too complicated. All >>> properties in the entities are protected by default against mass >>> assignment, you need to modify your Article entity in order to let CakePHP >>> know what properties can be assigned by newEntity: >>> >>> class Article extends Entity { >>> >>> protected $_accessible = ['title' => true, 'body' => true]; >>> >>> } >>> >>> or if you just don't care (not recommended): >>> >>> class Article extends Entity { >>> >>> protected $_accessible = ['*' => true]; >>> >>> } >>> >>> The latter can be seen as a Eloquent::unguard(); >>> >>> On Wednesday, March 12, 2014 6:30:45 AM UTC+1, Dr. Tarique Sani wrote: >>>> >>>> Wonder why saving is failing >>>> >>>> I am doing >>>> >>>> $article = $this->Articles->newEntity($this->request->data); >>>> >>>> if ($this->Articles->save($article)) { >>>> $this->Session->setFlash(__('Your article has been >>>> saved.')); >>>> return $this->redirect(['action' => 'index']); >>>> } >>>> >>>> $this->Session->setFlash(__('Unable to add your article.')); >>>> >>>> >>>> debug($this->request->data); >>>> >>>> gives >>>> >>>> [ >>>> 'title' => 'Test Title', >>>> 'body' => 'This is the body' >>>> ] >>>> >>>> >>>> but debug($article); >>>> >>>> give >>>> >>>> object(Cake\ORM\Entity) { >>>> >>>> 'new' => null, >>>> 'accessible' => [], >>>> 'properties' => [], >>>> 'dirty' => [], >>>> 'virtual' => [], >>>> 'errors' => [] >>>> >>>> } >>>> >>>> What can possibly be wrong. I am guessing the title and body should >>>> appear as properties of the newly created entity without which the saving >>>> will not happen >>>> >>>> I did a composer update just now - so I do have the latest code. >>>> >>>> Cheers >>>> Tarique >>>> >>>> -- >>>> ============================================================= >>>> The Conference Schedule Creator : http://shdlr.com >>>> >>>> PHP for E-Biz : http://sanisoft.com >>>> ============================================================= >>>> >>> -- >>> Like Us on FaceBook https://www.facebook.com/CakePHP >>> Find us on Twitter http://twitter.com/CakePHP >>> >>> --- >>> You received this message because you are subscribed to the Google >>> Groups "CakePHP" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to cake-php+u...@googlegroups.com. >>> To post to this group, send email to cake...@googlegroups.com. >>> >>> Visit this group at http://groups.google.com/group/cake-php. >>> For more options, visit https://groups.google.com/d/optout. >>> >> >> >> >> -- >> ============================================================= >> The Conference Schedule Creator : http://shdlr.com >> >> PHP for E-Biz : http://sanisoft.com >> ============================================================= >> > -- > Like Us on FaceBook https://www.facebook.com/CakePHP > Find us on Twitter http://twitter.com/CakePHP > > --- > You received this message because you are subscribed to the Google Groups > "CakePHP" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to cake-php+unsubscr...@googlegroups.com. > To post to this group, send email to cake-php@googlegroups.com. > Visit this group at http://groups.google.com/group/cake-php. > For more options, visit https://groups.google.com/d/optout. > -- ============================================================= The Conference Schedule Creator : http://shdlr.com PHP for E-Biz : http://sanisoft.com ============================================================= -- Like Us on FaceBook https://www.facebook.com/CakePHP Find us on Twitter http://twitter.com/CakePHP --- You received this message because you are subscribed to the Google Groups "CakePHP" group. To unsubscribe from this group and stop receiving emails from it, send an email to cake-php+unsubscr...@googlegroups.com. To post to this group, send email to cake-php@googlegroups.com. Visit this group at http://groups.google.com/group/cake-php. For more options, visit https://groups.google.com/d/optout.