Re: Still having trouble with saving BelongsToMany data
i have same problem, i can't save all my associated data. so for now i have to do it manualy save my associated one model by one model. José Lorenzo i hope cookbook give us more clear example hove to save associated models. On Sunday, February 22, 2015 at 9:01:16 AM UTC+7, Joe T. wrote: -- 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.
Re: Still having trouble with saving BelongsToMany data
i have same problem, i can't save all my associated data. so for now i have to do it manualy save my associated one model by one model. José Lorenzo i hope cookbook give us more clear example hove to save associated models. On Sunday, February 22, 2015 at 9:01:16 AM UTC+7, Joe T. wrote: So, i had a thread going here: https://groups.google.com/forum/#!topic/cake-php/PMtHkEvIURo Never got anywhere on solving this. Decided a new thread was called for because tables have changed documentation has been updated, but i'm having the same problem. i'll try to explain as clearly as i can... i have two B2M tables: *li**stings* and *attributes*. The pivot table is *listings_attributes*: listings_attributes: id listing_id -FK- listings.id attribute_id -FK- attributes.id value The Table connections look like this: *ListingsTable::initialize* $this-addAssociations([ 'belongsTo' = [ /* some other tables */ ], 'hasMany' = [ /* another table */ ], 'belongsToMany' = [ 'Attributes' = [ 'through' = 'ListingsAttributes' ] ] ]); *AttributesTable::initialize* $this-belongsToMany('Listings', [ 'through' = 'ListingsAttributes' ]); *ListingsAttributesTable::initialize* $this-belongsTo('Listings'); $this-belongsTo('Attributes'); The Attributes are already established. i'm not adding new Attributes when i save a Listing. The documentation's example is Articles Tags, and implies new Tags are created with a new Article, while the _joinData starred is saved to the pivot table *articles_tags*. So my form inputs look like this (following the example from documentation http://book.cakephp.org/3.0/en/views/helpers/form.html#associated-form-inputs ): input name=attributes[0][id] value=3 id=attributes-0-id type= checkbox Bathrooms input name=attributes[0][_joinData][value] id= attributes-0-joindata-value type=text input name=attributes[1][id] value=2 id=attributes-1-id type= checkbox Bedrooms input name=attributes[1][_joinData][value] id= attributes-1-joindata-value type=text input name=attributes[2][id] value=4 id=attributes-2-id type= checkbox Laundry input name=attributes[2][_joinData][value] id= attributes-2-joindata-value type=text input name=attributes[3][id] value=1 id=attributes-3-id type= checkbox Parking input name=attributes[3][_joinData][value] id= attributes-3-joindata-value type=text The idea is, an Attribute is checked, and a value entered that goes to the *listings_attributes* table. In my test, i'm checking Parking (ID 1, index 3), and entering Off-street as its value. My response data looks like (from Log::debug): Array ( // Various fields about the listing, and this section for the attributes: [attributes] = Array ( [3] = Array // Index for this Attribute in the form's inputs. ( [id] = 1 // Attribute record ID for Parking [_joinData] = Array // Data intended for the ListingsAttributes table ( [value] = Off-street ) ) ) ) To me, this looks much like the documentation example for Students / Courses: $data = [ 'first_name' = 'Sally', 'last_name' = 'Parker', 'courses' = [ [ 'id' = 10, '_joinData' = [ 'grade' = 80.12, 'days_attended' = 30 ] ], // Other courses. ] ]; $student = $this-Students-newEntity($data, [ 'associated' = ['Courses._joinData'] ]); In my controller, i create the Entity thus (just like the example above): $listing = $this-Listings-newEntity($this-request-data, ['associated' = ['Attributes._joinData']]); When i call *$this-Listings-save($listing)* i'd expect the *listings* record to be saved, then the ID for that added to the associated data for *listings_attributes*: listings_id : 1(newly generated) attributes_id: 1(selected from the form) value: 'Off-street' (set in the form) When i log *$listing-jsonSerialize()*, it looks like this: Array ( // Various fields about the listing, and this section for the attributes: [attributes] = Array ( [0] = Array ( ) ) ) The result of this is the *listings* record is not saved, nor the *listings_attributes*. So, where did the Attribute data go? Is something wrong with the Table classes? Can anyone tell me what's wrong here? If you need more information, please let me know. Thank you. -joe -- 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
cakephp 3 multi tenant db schema, fail to save associated data
Help, i have this schema. it work fine with find methode, but it fail whene it try to saving data with associated data. it just save main model not associated model https://lh3.googleusercontent.com/-DCftkP_hpPw/VRzNieReGFI/BSY/hkrDj-hn1lI/s1600/myDesainArtRgnProject.png here sample of my model Table class KaryawanTable extends Table { public function initialize(array $config) { $this-table('karyawan'); $this-displayField('id'); $this-primaryKey(['id', 'kantor_id']); $this-belongsTo('Kantor', [ 'className' = 'Kantor', 'foreignKey' = 'kantor_id' ]); $this-belongsTo('Jabatan', [ 'className' = 'Jabatan', 'foreignKey' = 'jabatan_id' ]); $this-belongsTo('Jenisidentitas', [ 'className' = 'Jenisidentitas', 'foreignKey' = 'jenisidentitas_id' ]); $this-hasMany('Telpkaryawan', [ 'className' = 'Telpkaryawan', 'foreignKey' = ['karyawan_id', 'karyawan_kantor_id'] ]); $this-hasOne('Rgnuser', [ 'className' = 'Rgnuser', 'foreignKey' = ['karyawan_id', 'karyawan_kantor_id'] ]); } right now i'm saving my data manualy like this public function add() { * $karyawan = $this-Karyawan-newEntity();* *if ($this-request-is('post')) {* *$kantorid = $this-request-session()* *-read('Auth.User.karyawan.tempatKerja');* *$testid = $this-Karyawan-findKaryawaninitialid(* *$this-request-session()* *-read('Auth.User.karyawan.tempatKerja'));* *if (!($testid)) {* *$this-request-data['id'] = '1';* *}* *$this-request-data['kantor_id'] = $this-request-session()* *-read('Auth.User.karyawan.tempatKerja');* *$karyawan = $this-Karyawan-patchEntity($karyawan, $this-request-data());* *if ($this-Karyawan-save($karyawan)) {* *$result = $this-Karyawan-save($karyawan);* *$rgnuserdata['karyawan_id'] = $result-id;* *$rgnuserdata['karyawan_kantor_id'] = $result-kantor_id;* *$this-loadModel('Rgnuser');* *$rgnuserdata = $this-Rgnuser-newEntity($rgnuserdata);* *$this-Rgnuser-save($rgnuserdata);* *$this-Flash-success('The karyawan has been saved.');* *return $this-redirect(['action' = 'add']);* *} else {* *$this-Flash-error('The karyawan could not be saved. Please, try again.');* *}* *}* *$kantor = $this-Karyawan-Kantor-find('list', ['limit' = 200]);* *$jabatan = $this-Karyawan-Jabatan-find('list', ['limit' = 200]);* *$jenisidentitas = $this-Karyawan-Jenisidentitas-find('list', ['limit' = 200]);* *$jenistelp = $this-Karyawan-Jenistelp-find('list', ['limit' = 200]);* *$this-loadModel('Userlevel');* *$userLevel = $this-Userlevel-find('list', ['limit' = 200]);* *$this-set(compact('karyawan', 'kantor', 'jabatan', 'jenisidentitas', 'userLevel'));* *$this-set('_serialize', ['karyawan']);* *}* -- 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.
Re: CakePHP 3.0 - Confusion comes from
Hi dave I agree with you, but I also disagree cakephp manual book may not be perfect, but it is quite complete and very helpful to understand the cakephp. deficiencies in the manual may be updated in the next update. And that is not in the manual book, we can ask each other in this group. On Friday, March 27, 2015 at 9:37:26 PM UTC+7, Bayezid Alam wrote: Hi, A confusion comes on my mind regarding the adding something on CakePHP 3.0 As example given on below link's in the add function. http://book.cakephp.org/3.0/en/tutorials-and-examples/blog/part-two.html#adding-articles public function add() { $article = $this-Articles-newEntity(); // *A blank newEnttity added stored in $article variable* if ($this-request-is('post')) { $article = $this-Articles-patchEntity($article, $this-request-data); // *A patchEntity added here passed the request data here* if ($this-Articles-save($article)) { $this-Flash-success(__('Your article has been saved.')); return $this-redirect(['action' = 'index']); } $this-Flash-error(__('Unable to add your article.')); } $this-set('article', $article); } But i found a different things on below link http://book.cakephp.org/3.0/en/tutorials-and-examples/blog-auth-example/auth.html#creating-all-user-related-code public function add() { $user = $this-Users-newEntity($this-request-data); // *request data passing through newEntity here* if ($this-request-is('post')) { if ($this-Users-save($user)) { $this-Flash-success(__('The user has been saved.')); return $this-redirect(['action' = 'add']); } $this- ... -- 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.
Re: Cakephp3.0 Authentication issue
Try this hopely it can help public function login() { if ($this-request-is('post')) { $user = $this-Auth-identify(); if ($user) { $this-Auth-setUser($user); * $userrole = $this-request-session()* *-read('Auth.User.role');* *if ($userrole == 'admin') {* *return $this-redirect(['controller' = 'Admin', 'action' = 'someaction']);* *} else {* *return $this-redirect(['controller' = 'User', 'action' = 'someaction']);* *}* } else { $this-Flash-error( __('Username or password is incorrect'), 'default', [], 'auth' ); } } } On Monday, March 30, 2015 at 2:49:46 AM UTC+7, nilay singh wrote: Hey In blog authentication there is admin and author based role can anyone suggest me how can I check in login action if user is admin if yes then redirect to admin controller and if it is author it go to author controller -- 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.
Re: CakePHP 3.0 - Confusion comes from
no cookbook tutorial/example is fine maybe $this-Model-newEntity(); is to create new object with blank attribute or create blank object container $this-Model-patchEntity($oldObjectAttr , $newObjAttr); is to update object attribute On Friday, March 27, 2015 at 9:37:26 PM UTC+7, Bayezid Alam wrote: Hi, A confusion comes on my mind regarding the adding something on CakePHP 3.0 As example given on below link's in the add function. http://book.cakephp.org/3.0/en/tutorials-and-examples/blog/part-two.html#adding-articles public function add() { $article = $this-Articles-newEntity(); // *A blank newEnttity added stored in $article variable* if ($this-request-is('post')) { $article = $this-Articles-patchEntity($article, $this-request-data); // *A patchEntity added here passed the request data here* if ($this-Articles-save($article)) { $this-Flash-success(__('Your article has been saved.')); return $this-redirect(['action' = 'index']); } $this-Flash-error(__('Unable to add your article.')); } $this-set('article', $article); } But i found a different things on below link http://book.cakephp.org/3.0/en/tutorials-and-examples/blog-auth-example/auth.html#creating-all-user-related-code public function add() { $user = $this-Users-newEntity($this-request-data); // *request data passing through newEntity here* if ($this-request-is('post')) { if ($this-Users-save($user)) { $this-Flash-success(__('The user has been saved.')); return $this-redirect(['action' = 'add']); } $this- ... -- 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.
Re: Very basic question about the 'CakePHP Project Files'
hi, sorry for late answer after i visit your site, maybe no problem with your cakephp app, maybe it's just wrong data parsing to google map api, not in your CakePPH application. var mapProp = { center:new google.maps.LatLng(Lat_Data, Lng_Data), zoom: 7, mapTypeId: google.maps.MapTypeId.ROADMAP }; where Lat_Data and Lnd_Data is your client location from your Databasename.clientTable, not 5253 Murray Bridge location. 'bout radio button, maybe developer set dafault input of radio button to *'the city only',* but that's normal behavior for radio buton to select one options as default input. On Thursday, March 26, 2015 at 4:08:42 PM UTC+7, rogerdw...@gmail.com wrote: Hi guys, I searched out this group to get a definite answer to my dilemma. I am an end user ... not a programmer. I had a CakePHP site built and delivered but there a few small issues with it. The long and short of it is that after I had made the final payment and it was transferred to my own server, I asked for some minor issues to be fixed. After dragging their feet and pretty much ignoring me, I approached other programmers to see if they could finish it off. They told me that they need access to the 'cake project file' to continue any work ... but the web development team say that it is not their company policy to provide that. Apart from the fact that it feels like I'm being held to ransom ... especially after I paid the agreed price, plus a bit more ... they are not doing the work and my site is un-useable. Can anyone offer any (helpful) advise please. :) Thanks, Roger -- 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.
Re: Very basic question about the 'CakePHP Project Files'
hi roger may i know what issues that you have?? what kind bug in your program/site. maybe if you specific share issues or bug in this group many poeple can help you. if you have the server itself - as mentioned - cakephp file may be in your server webroot. -- 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.
cakephp 3.0 stable == need help with save assosiated, but data have composite primarykey
help i cann't saving data with save that have assosiated *nb*: *all my table used Inflector::rules('uninflected', ['dontinflectme']), so i don't have proble with naming convension* *this is my model table* class KaryawanTable extends Table { /** * Initialize method * * @param array $config The configuration for the Table. * @return void */ public function initialize(array $config) { $this-table('karyawan'); $this-displayField('id'); $this-primaryKey(['id', 'kantor_id']); $this-belongsTo('Kantor', [ 'className' = 'Kantor', 'foreignKey' = 'kantor_id' ]); $this-belongsTo('Jabatan', [ 'className' = 'Jabatan', 'foreignKey' = 'jabatan_id' ]); $this-belongsTo('Jenisidentitas', [ 'className' = 'Jenisidentitas', 'foreignKey' = 'jenisidentitas_id' ]); $this-hasMany('Telpkaryawan', [ 'className' = 'Telpkaryawan', 'foreignKey' = ['karyawan_id', 'karyawan_kantor_id'] ]); $this-hasOne('Rgnuser', [ 'className' = 'Rgnuser', 'foreignKey' = ['karyawan_id', 'karyawan_kantor_id'] ]); } public function validationDefault(Validator $validator) { $validator -add('id', 'valid', ['rule' = 'numeric']) -allowEmpty('id', 'create') -allowEmpty('kantor_id', 'create') -allowEmpty('noPegawai') -requirePresence('tempatKerja', 'create') -notEmpty('tempatKerja') -add('jabatan_id', 'valid', ['rule' = 'numeric']) -requirePresence('jabatan_id', 'create') -notEmpty('jabatan_id') -allowEmpty('namaDepan') -allowEmpty('namaBelakang') -allowEmpty('gelar') -allowEmpty('alamat') -allowEmpty('tempatLahir') -add('tanggalLahir', 'valid', ['rule' = 'date']) -allowEmpty('tanggalLahir'); return $validator; } public function buildRules(RulesChecker $rules) { $rules-add($rules-existsIn(['kantor_id'], 'Kantor')); $rules-add($rules-existsIn(['jabatan_id'], 'Jabatan')); return $rules; } } *this's my controller method add* public function add() { $karyawan = $this-Karyawan-newEntity(); if ($this-request-is('post')) { $this-request-data['kantor_id'] = $this-request-session() -read('Auth.User.karyawan.tempatKerja'); $this-request-data['Rgnuser']['karyawan_kantor_id'] = $this-request-session() -read('Auth.User.karyawan.tempatKerja'); $karyawan = $this-Karyawan-newEntity( $karyawan, $this-request-data,['associated' = ['Rgnuser']]); if ($this-Karyawan-save($karyawan)) { $this-Flash-success('The karyawan has been saved.'); return $this-redirect(['action' = 'add']); } else { $this-Flash-error('The karyawan could not be saved. Please, try again.'); } } $kantor = $this-Karyawan-Kantor-find('list', ['limit' = 200]); $jabatan = $this-Karyawan-Jabatan-find('list', ['limit' = 200]); $jenisidentitas = $this-Karyawan-Jenisidentitas-find('list', ['limit' = 200]); $this-loadModel('Userlevel'); $userLevel = $this-Userlevel-find('list', ['limit' = 200]); $this-set(compact('karyawan', 'kantor', 'jabatan', 'jenisidentitas', 'userLevel')); $this-set('_serialize', ['karyawan']); } and this is error message Cake\ORM\Marshaller::one() - CORE\src\ORM\Marshaller.php, line 101 Cake\ORM\Table::newEntity() - CORE\src\ORM\Table.php, line 1953 App\Controller\KaryawanController::add() - APP/Controller\KaryawanController.php, line 54 Cake\Controller\Controller::invokeAction() - CORE\src\Controller\Controller.php, line 405 Cake\Routing\Dispatcher::_invoke() - CORE\src\Routing\Dispatcher.php, line 114 Cake\Routing\Dispatcher::dispatch() - CORE\src\Routing\Dispatcher.php, line 87 [main] - ROOT\webroot\index.php, line 37 help how to fix this problem -- 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.
Re: Cakephp3.0 stable taken data
that's because you print object not array try this in your controoler *$jobdetail = $this-Listjobs-find('all');* *$results = $jobdetail -all();* *$data = $results-toArray(); in your viewp?= pr($data);exit; ?/por p?= debug($data);exit; ?/p* On Tuesday, March 24, 2015 at 11:14:08 AM UTC+7, Quang Nguyễn Ngọc wrote: Hi I'm a novice in cakephp However, I'm trying to make my blog with cakephp 3.0 which is stable version. I got stuck not taken database show view.ctp Controller = ListjobsController.php ?php namespace App\Controller; class ListjobsController extends AppController{ public function jobdetail(){ $jobdetail = $this-Listjobs-find('all'); $this-set( compact('jobdetail')); } } Model =Table = ListjobsTable.php ?php namespace App\Model\Table; use Cake\ORM\Table; class ListjobsTable extends Table{ public function initialize(array $config){ $this-table('listjobs'); $this-displayField('title'); $this-primaryKey('id'); $this-belongsToMany('Users',[ 'foreignKey' = 'user_id' ]); } } Template = Listjobs = jobdetail.ctp p?= pr($jobdetail);exit; ?/p it does not appear that the current database information: Cake\ORM\Query Object ( [sql] = SELECT Listjobs.id AS `Listjobs__id`, Listjobs.user_id AS `Listjobs__user_id`, Listjobs.type_id AS `Listjobs__type_id`, Listjobs.cate_id AS `Listjobs__cate_id`, Listjobs.title AS `Listjobs__title`, Listjobs.location AS `Listjobs__location`, Listjobs.description AS `Listjobs__description`, Listjobs.skillsrequired AS `Listjobs__skillsrequired`, Listjobs.companyname AS `Listjobs__companyname`, Listjobs.website AS `Listjobs__website`, Listjobs.email AS `Listjobs__email`, Listjobs.password AS `Listjobs__password`, Listjobs.created AS `Listjobs__created`, Listjobs.modified AS `Listjobs__modified` FROM listjobs Listjobs [params] = Array ( ) [defaultTypes] = Array ( [Listjobs.id] = integer [id] = integer [Listjobs.user_id] = integer [user_id] = integer [Listjobs.type_id] = integer [type_id] = integer [Listjobs.cate_id] = integer [cate_id] = integer [Listjobs.title] = string [title] = string [Listjobs.location] = string [location] = string [Listjobs.description] = text [description] = text [Listjobs.skillsrequired] = text [skillsrequired] = text [Listjobs.companyname] = string [companyname] = string [Listjobs.website] = string [website] = string [Listjobs.email] = string [email] = string [Listjobs.password] = string [password] = string [Listjobs.created] = datetime [created] = datetime [Listjobs.modified] = datetime [modified] = datetime ) [decorators] = 0 [executed] = [hydrate] = 1 [buffered] = 1 [formatters] = 0 [mapReducers] = 0 [contain] = Array ( ) [matching] = Array ( ) [extraOptions] = Array ( ) [repository] = App\Model\Table\ListjobsTable Object ( [registryAlias] = Listjobs [table] = listjobs [alias] = Listjobs [entityClass] = \Cake\ORM\Entity [associations] = Array ( [0] = users ) [behaviors] = Array ( ) [defaultConnection] = default [connectionName] = default ) ) I can not understand why the data in the database does not appear. Hope you can help me!!! -- 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.
Re: CakePHP 3.0.0-beta3 released
hi mark I have a question already can cakephp version 3 is used for the production phase for a very simple site? or I still have to use cakephp version 2. because I come from areas that do not use the English language, I use Inflector :: rules. in cakephp version 2 I put like this in Inflector :: rules Inflector :: rules ('singular', array ('rules' = array (), 'irregular' = array (), 'uninflected' = array ( 'album', 'band', 'bandblog', 'bandmember', 'news', 'chart', 'genre', 'kategoribandblog', 'kategoriberita', 'komentarbandblog', 'komentarberita', 'komentarmusik', 'lyrics', 'minimanimuuser', 'Music', 'ourprogreskategori', 'ourprogres', 'profileband', 'rating', 'songgenre', 'subcategory', 'phone', 'userlevel', 'userprofile', 'navigator', 'sitenavigator', 'groupnavigator', 'subkategoriberita', 'komentarourprogres', 'ourprogrespic', 'musiknavigator', 'musikandbandsubnavigator', 'article', 'kategoriartikel', 'komentarartikel', 'subkategoriartikel', 'fotoartikel', 'event', 'musikartisnavigator', 'minimanimucheck', 'mainadds', 'sideadds', 'fotoband', 'fotoblog', 'search', 'fotouser' ))); Inflector :: rules ('plural', array ('rules' = array (), 'irregular' = array (), 'uninflected' = array ( 'album', 'band', 'bandblog', 'bandmember', 'news', 'chart', 'genre', 'kategoribandblog', 'kategoriberita', 'komentarbandblog', 'komentarberita', 'komentarmusik', 'lyrics', 'minimanimuuser', 'Music', 'ourprogreskategori', 'ourprogres', 'profileband', 'rating', 'songgenre', 'subcategory', 'phone', 'userlevel', 'userprofile', 'navigator', 'sitenavigator', 'groupnavigator', 'subkategoriberita', 'komentarourprogres', 'ourprogrespic', 'musiknavigator', 'musikandbandsubnavigator', 'article', 'kategoriartikel', 'komentarartikel', 'subkategoriartikel', 'fotoartikel', 'event', 'musikartisnavigator', 'minimanimucheck', 'mainadds', 'sideadds', 'fotoband', 'fotoblog', 'search', 'fotouser' ))); how do I put this Inflector :: rules in cakephp version 3? if I simply put in Inflector :: rules ('uninflected', ['album', 'band', 'bandblog', 'bandmember', 'news', 'chart', 'genre', 'kategoribandblog', 'kategoriberita', 'komentarbandblog', 'komentarberita', 'komentarmusik', 'lyrics', 'minimanimuuser', 'Music', 'ourprogreskategori', 'ourprogres', 'profileband', 'rating', 'songgenre', 'subcategory', 'phone', 'userlevel', 'userprofile', 'navigator', 'sitenavigator', 'groupnavigator', 'subkategoriberita', 'komentarourprogres', 'ourprogrespic', 'musiknavigator', 'musikandbandsubnavigator', 'article', 'kategoriartikel', 'komentarartikel', 'subkategoriartikel', 'fotoartikel', 'event', 'musikartisnavigator', 'minimanimucheck', 'mainadds', 'sideadds', 'fotoband', 'fotoblog', 'search', 'fotouser']); then to set the application neatness in cakephp version 2 I use the app :: build. and I use the app :: build like this App :: build (array ( 'Model' = array ( APP. 'Model'. DS, APP. 'Model'. DS. 'Adds'. DS, APP. 'Model'. DS. 'Articles'. DS, APP. 'Model'. DS. 'Band'. DS, APP. 'Model'. DS. 'Music'. DS, APP. 'Model'. DS. 'ourprogresAndEven'. DS, APP. 'Model'. DS. 'Site'. DS, APP. 'Model'. DS. 'User'. DS, ), 'Controller' = array ( APP. 'Controller'. DS, APP. 'Controller'. DS. 'Adds'. DS, APP. 'Controller'. DS. 'Articles'. DS, APP. 'Controller'. DS. 'Band'. DS, APP. 'Controller'. DS. 'Music'. DS, APP. 'Controller'. DS. 'ourprogresAndEven'. DS, APP. 'Controller'. DS. 'Site'. DS, APP. 'Controller'. DS. 'User'. DS, ), 'View' = array ( APP. 'View'. DS, APP. 'View'. DS. 'Adds'. DS, APP. 'View'. DS. 'Articles'. DS, APP. 'View'. DS. 'Band'. DS, APP. 'View'. DS. 'Music'. DS, APP. 'View'. DS. 'ourprogresAndEven'. DS, APP. 'View'. DS. 'Site'. DS, APP. 'View'. DS. 'User'. DS, ), 'Vendor' = array ( APP. 'Vendor'. DS, APP. 'Vendor'. DS. 'Recaptcha'. DS, ), )); how to use the app whether this build in cakephp version 3 I thank you in advance, and sorry for my bad engglish On Monday, November 17, 2014 9:49:13 AM UTC+7, mark_story wrote: The CakePHP core team is excited to announce the release of CakePHP 3.0.0-beta3. While we had originally planned on only doing 2 beta releases, we're not entirely satisfied with the current ORM validation workflow, and want to do some additional work there. The new plan is to have at least two RC releases after beta3. The RC releases will be API frozen and no new features or breaking changes will be added. Since 3.0.0-beta2, we've been hard at work