$this->table('members');
$this->displayField('name');
$this->primaryKey('id');
$this->hasMany('Messages', [
'foreignKey' => 'members_id'
]);
$this->hasMany( 関連するテーブル , [ 設定情報の連想配列 ]);ここでは「Messages」を第1引数に設定しています(エンティティクラス名は「Message」ですが、ここで設定する値は「Messages」になります)。また第2引数の連想配列には、「foreignKey」を指定します。これは、テーブルに用意した外部キーのフィールド名です。これにより、members_idを外部キーとして認識するようになります。
$this->hasOne( 関連するテーブル , [ 設定情報の連想配列 ]);
$this->hasMany( 関連するテーブル , [ 設定情報の連想配列 ]);
$this->belongsTo( 関連するテーブル , [ 設定情報の連想配列 ]);
$this->belongsToMany( 関連するテーブル , [ 設定情報の連想配列 ]);
※リストが表示されない場合
AddBlockなどの広告ブロックツールがONになっているとリストなどが表示されない場合があります。これらのツールをOFFにしてみてください。
<?php
namespace App\Model\Table;
use App\Model\Entity\Member;
use Cake\ORM\Query;
use Cake\ORM\RulesChecker;
use Cake\ORM\Table;
use Cake\Validation\Validator;
class MembersTable extends Table
{
public function initialize(array $config)
{
parent::initialize($config);
$this->table('members');
$this->displayField('name');
$this->primaryKey('id');
$this->hasMany('Messages', [
'foreignKey' => 'members_id'
]);
}
public function validationDefault(Validator $validator)
{
$validator
->add('id', 'valid', ['rule' => 'numeric'])
->allowEmpty('id', 'create');
$validator
->requirePresence('name', 'create')
->notEmpty('name');
$validator
->allowEmpty('mail');
return $validator;
}
}
| << 前へ | 次へ >> |