PDA

View Full Version : اضافه کردن فیلدی به مدل و حوزه مدل



tinybyte
سه شنبه 23 مهر 1392, 09:50 صبح
من تعداد زیادی رکورد سفارش از دیتابیس می گیرم و پس از جیسون انکود ، آن را برمی گردانم.
حالا من به یک فیلد دیگر که اطلاعات مشتری است احتیاج دارم.سفارش با مشتری واضح است که رابطه دارد.
چون این فیلد مستقیما در جدول سفارش نیست ، من یک متغیر در مدل سفارس ایجاد کردم و اینطوری داده را گرفتم:



$criteria = new CDbCriteria();
$criteria->join = 'INNER JOIN customers c ON t.idCustomer = c.idCustomer';
$criteria->select = 't.* , c.CustomerName AS CustomerName'; // CustomerName is the added attribute

$data = Orders::model()->findAll($criteria);
var_dump($data); // in here CustomerName is fetched,
$data = CJSON::encode($data); // but not here, its not even part of encoded string!


داده درست دریافت می شود، متغیر با داده جدول مشتری پر شده
ولی بعد از انکد، متغیر من null است!

من نمی خواهم که در afterFind() مدل کد بزنم تا این فیلد را پر کنم.می خواهم که در همینجا با راه حلی ستون مورد نظر را پیدا کنم.

با تشکر فراوان

من در سایت stackoverflow (http://stackoverflow.com/questions/19374198/yii-additional-model-attribute-and-its-scope)هم این سوال را مطرح کرده ام.