このモデルの関係をどのように表すことができますか: PKey を持つユーザー テーブルがあります。ユーザーには、雇用主と労働者の 2 つのタイプがあります -> 2 つのテーブルは、ユーザー PKey に再設定された Fkey を保持します。
User モデルで sth を次のようにコーディングしました。
public function userTypeMapper($type)
{
switch ($type) {
case 'w':
return 'Worker';
case 'e':
return 'Employer';
case 'a':
return 'Admin';
default:
return 'Employer';
return 'Guest';
}
}
/**
* @return array relational rules.
*/
public function relations()
{
$entity = $this->userTypeMapper($this->u_type);
return array(
'entity' => array(self::HAS_ONE, $entity, 'u_id'),
'projects' => array(self::HAS_MANY, 'Project', 'pr_u_id'),
);
}
このように、$entity は雇用主モデルと労働者モデルの間で交互に使用されます!!
問題は、それが機能しないことです!!! プロジェクトモデルが所有者を取得するときに u_type が設定されない理由がわかりません (ユーザー内)。リレーションが解釈されるとき、実際には何も設定されません。