نحوه ارجاع به model در قسمتهای مختلف
سلام. در داخل فایلهایی مثل کنترلر و یا ویوهای مربوط به CRUD ای که میسازیم. کدی به این صورت نوشته میشه:
<div class="row">
<?php echo $form->labelEx($model,'name'); ?>
<?php echo $form->textField($model,'name',array('size'=>60,'maxleng th'=>255)); ?>
<?php echo $form->error($model,'name'); ?>
</div>
سوالم اینه که این model$ چطور بهش معرفی میشه که مربوط به کودوم model$ ای هستش که این جا هست؟ داخل کنترلر هم هست.
نقل قول: نحوه ارجاع به model در قسمتهای مختلف
سلام
در بالای هر ویو که ساخته میشه، اگر دقت کنی میبینی
نقل قول: نحوه ارجاع به model در قسمتهای مختلف
توی کنترلر موقعی که یک View رو میگیم Render کنه، میتونیم بهش پارامتر هم بفرستیم. مثال:
$this->render('index', array('model'=>Posts::model()->findByPk($id)));
که در این حالت، به ازای هرکدوم از keyهای آرایه ارسال شده، توی View یک متغیر با مقدار value متناظر با همون key ساخته میشه.
نقل قول: نحوه ارجاع به model در قسمتهای مختلف
سلام.نه منظورم این نبود.متغیر model رو کنترلر مقدار دهی میکنه موقعی که یک ویو رندر میشه؟ موقعی که ازش اسم میبریم یعنی به مدل همون کنترلر دسترسی داریم و میخاییم ازش استفاده کنیم دیگه درسته؟درست یادم باشه تو جوملا اسم فایل مدل رو درخواست میکردیم نمیدونم
نقل قول: نحوه ارجاع به model در قسمتهای مختلف
بله اگه به کدی که گذاشتم دقت کنید، میبینید که یک آرایه داره به View ارسال میشه که یک اندیس model داره با مقدار مشخص. توی View اون مقدار توی متغیری به اسم model$ قرار میگیره (بخاطر اینکه اسم اندیسش، model بوده). مثلاً اگه موقع صدا زدن متد render اسم اندیس رو test میگذاشتیم، اینطرف توی View باید از test$ استفاده میکردیم.