my files are as follows:
src/Model/Behavior/SpecialBehavior.php
src/Model/Table/SitesTable.php
src/Model/Table/CategoriesTable.php
thanks in advance!
Am Montag, 28. Juli 2014 16:02:03 UTC+2 schrieb José Lorenzo:
-- src/Model/Behavior/SpecialBehavior.php
namespace Cake\Model\Behavior;
use Cake\Event\Event;
use Cake\ORM\Behavior;
use Cake\ORM\Query;
use Cake\Network\Request;
use Cake\Network\Session;
use Cake\ORM\Table;
use Cake\ORM\TableRegistry;
use Cake\Controller\Component\AuthComponent;
class SpecialBehavior extends Behavior {
public function beforeFind(Event $event, $query) {
//do stuff
}
}
src/Model/Table/SitesTable.php
<?php
namespace App\Model\Table;
use Cake\ORM\Table;
use Cake\ORM\TableRegistry;
class SitesTable extends Table {
public function initialize(array $config) {
$this->addBehavior('Site');
$this->addBehavior('Special');
}
}
src/Model/Table/CategoriesTable.php
<?php
namespace App\Model\Table;
use Cake\ORM\Table;
class CategoriesTable extends Table {
public function initialize(array $config) {
$this->addBehavior('Special');
}
public function validationDefault(Validator $validator) {
return $validator
->notEmpty('name', 'A name is required');
}
}
thanks in advance!
Am Montag, 28. Juli 2014 16:02:03 UTC+2 schrieb José Lorenzo:
Can you show where you created that behavior class?. It would be nice if you can gist your Tables as well
On Monday, July 28, 2014 3:43:35 PM UTC+2, Bernhard Minatti wrote:Hello!
I'm trying to add the same behaviour to multiple Tables, which are related to each other. Thus i created a class "SpecialBehaviour", which is included in both Tables in their initialize() method:
$this->addBehavior('SpecialBehaviour');
It works fine, when only one of the tables is queried, but when executing a Query that joins the two tables together, an error is thrown:
Cannot redeclare class Cake\Model\Behavior\SpecialBehavior
Is there another way to add a global behavior to multiple tables?
thanks in advance!
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+unsubscribe@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.
No comments:
Post a Comment