Yii 关系不起作用
Yii Relations not working
您好,我想使用 print_r() 查看客户姓名;这是我的 table 结构:
Table Customers
id
name
Table Jobs
id
customer (REF of Customers table)
这是我的代码:
在我的客户模型中:
return array(
'name'=>array( self::HAS_MANY, 'Job', 'customer' ),
);
在我的工作中Table
return array(
'customer'=>array(self::BELONGS_TO, 'Customers', 'customer'),
);
在我的 JobsController 中:
reports=Jobs::model()->findAll();
echo '<pre>';
print_r($reports);
echo '</pre>';
输出在这里:
Array
(
[0] => JobsObject
(
[_new:CActiveRecord:private] =>
[_attributes:CActiveRecord:private] => Array
(
[id] => 1
[customer] => 1
this is my expectation:
Array
(
[0] => JobsObject
(
[_new:CActiveRecord:private] =>
[_attributes:CActiveRecord:private] => Array
(
[id] => 1
[customer] => 1
reports=Jobs::model()->with('customer')->findAll();
echo '<pre>';
print_r($reports);
echo '</pre>';
据我所知,您不会获得内部工作记录...
您将获得不同的对象来为各个用户获取数据,例如
Array
(
[0] => JobsObject
(
[_new:CActiveRecord:private] =>
[_attributes:CActiveRecord:private] => Array
(
[id] => 1
[customer] => 1
[customersRecord] => Array
你的目标(你打印的第二个数组)是错误的,因为你想在 Jobs 对象中注入属于 Customers table 的名称属性。
要阅读相关数据,您只需以这种方式(或类似方式)访问:
$this->job->customer
(客户是关系的名称,$this->job 是当前 row/object 您正在阅读)
您好,我想使用 print_r() 查看客户姓名;这是我的 table 结构:
Table Customers
id
name
Table Jobs
id
customer (REF of Customers table)
这是我的代码:
在我的客户模型中:
return array(
'name'=>array( self::HAS_MANY, 'Job', 'customer' ),
);
在我的工作中Table
return array(
'customer'=>array(self::BELONGS_TO, 'Customers', 'customer'),
);
在我的 JobsController 中:
reports=Jobs::model()->findAll();
echo '<pre>';
print_r($reports);
echo '</pre>';
输出在这里:
Array
(
[0] => JobsObject
(
[_new:CActiveRecord:private] =>
[_attributes:CActiveRecord:private] => Array
(
[id] => 1
[customer] => 1
this is my expectation:
Array
(
[0] => JobsObject
(
[_new:CActiveRecord:private] =>
[_attributes:CActiveRecord:private] => Array
(
[id] => 1
[customer] => 1
reports=Jobs::model()->with('customer')->findAll();
echo '<pre>';
print_r($reports);
echo '</pre>';
据我所知,您不会获得内部工作记录... 您将获得不同的对象来为各个用户获取数据,例如
Array
(
[0] => JobsObject
(
[_new:CActiveRecord:private] =>
[_attributes:CActiveRecord:private] => Array
(
[id] => 1
[customer] => 1
[customersRecord] => Array
你的目标(你打印的第二个数组)是错误的,因为你想在 Jobs 对象中注入属于 Customers table 的名称属性。 要阅读相关数据,您只需以这种方式(或类似方式)访问:
$this->job->customer
(客户是关系的名称,$this->job 是当前 row/object 您正在阅读)