Hello,
I have made a table named users with a id and a username and a password
The problem is when i bake the model i get the next model:
$this->table('users');
$this->displayField('user_id');
$this->primaryKey('user_id');
$this->belongsTo('Users', [
'foreignKey' => 'user_id',
'joinType' => 'INNER'
]);
$this->belongsToMany('Educations', [
'foreignKey' => 'user_id',
'targetForeignKey' => 'education_id',
'joinTable' => 'users_educations'
]);
$this->belongsToMany('Roles', [
'foreignKey' => 'user_id',
'targetForeignKey' => 'role_id',
'joinTable' => 'users_roles'
]);
$this->belongsToMany('Subjects', [
'foreignKey' => 'user_id',
'targetForeignKey' => 'subject_id',
'joinTable' => 'users_subjects'
]);
}
/**
* Default validation rules.
*
* @param \Cake\Validation\Validator $validator Validator instance.
* @return \Cake\Validation\Validator
*/
public function validationDefault(Validator $validator)
{
$validator
->requirePresence('username', 'create')
->notEmpty('username');
$validator
->requirePresence('password', 'create')
->notEmpty('password');
return $validator;
}
/**
* Returns a rules checker object that will be used for validating
* application integrity.
*
* @param \Cake\ORM\RulesChecker $rules The rules object to be modified.
* @return \Cake\ORM\RulesChecker
*/
public function buildRules(RulesChecker $rules)
{
$rules->add($rules->isUnique(['username']));
$rules->add($rules->existsIn(['user_id'], 'Users'));
return $rules;
}
What i dont get is why the table users belongs to users because that is what my controller says. now i get a fault saying that:
-- I have made a table named users with a id and a username and a password
The problem is when i bake the model i get the next model:
$this->table('users');
$this->displayField('user_id');
$this->primaryKey('user_id');
$this->belongsTo('Users', [
'foreignKey' => 'user_id',
'joinType' => 'INNER'
]);
$this->belongsToMany('Educations', [
'foreignKey' => 'user_id',
'targetForeignKey' => 'education_id',
'joinTable' => 'users_educations'
]);
$this->belongsToMany('Roles', [
'foreignKey' => 'user_id',
'targetForeignKey' => 'role_id',
'joinTable' => 'users_roles'
]);
$this->belongsToMany('Subjects', [
'foreignKey' => 'user_id',
'targetForeignKey' => 'subject_id',
'joinTable' => 'users_subjects'
]);
}
/**
* Default validation rules.
*
* @param \Cake\Validation\Validator $validator Validator instance.
* @return \Cake\Validation\Validator
*/
public function validationDefault(Validator $validator)
{
$validator
->requirePresence('username', 'create')
->notEmpty('username');
$validator
->requirePresence('password', 'create')
->notEmpty('password');
return $validator;
}
/**
* Returns a rules checker object that will be used for validating
* application integrity.
*
* @param \Cake\ORM\RulesChecker $rules The rules object to be modified.
* @return \Cake\ORM\RulesChecker
*/
public function buildRules(RulesChecker $rules)
{
$rules->add($rules->isUnique(['username']));
$rules->add($rules->existsIn(['user_id'], 'Users'));
return $rules;
}
What i dont get is why the table users belongs to users because that is what my controller says. now i get a fault saying that:
SELECT Users.user_id AS `Users__user_id`, Users.username AS `Users__username`, Users.password AS `Users__password` FROM users Users INNER JOIN users Users ON Users.user_id = (Users.user_id) LIMIT 20 OFFSET 0
gives error: Error: SQLSTATE[42000]: Syntax error or access violation: 1066 Table/alias: 'Users' non unique
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