05-03-1394، 06:48 ب.ظ
05-03-1394، 07:22 ب.ظ
خیر. اگه دقت کنید ما خودمون یک شئ به اسم model$ از کلاس میسازیم (یا با new یا با find که خروجی اون، یک شئ از کلاس ActiveRecord هست). اگه اسم این متغیر رو چیز دیگری بگذاریم، اونوقت توی view هم با همون اسم باید کار کنیم.
05-03-1394، 07:35 ب.ظ
(05-03-1394، 07:22 ب.ظ)ADMIN نوشته: [ -> ]خیر. اگه دقت کنید ما خودمون یک شئ به اسم model$ از کلاس میسازیم (یا با new یا با find که خروجی اون، یک شئ از کلاس ActiveRecord هست). اگه اسم این متغیر رو چیز دیگری بگذاریم، اونوقت توی view هم با همون اسم باید کار کنیم.اینجور که فهمیدم تو کلاس مدل یه متد استاتیک به نام model وجود داره که مقدار پیش فرضش نام اون کلاس مدل هست
که از CActiveRecord مشتق شده و چک میکنه این کلاس لود شده یا نه و ....
درسته ؟
برای دسترسی به activeRecorde هر مدلی هم به شکل زیر عمل میشه
issue->model()
بعد از نام مدل هم می شه متد مورد نظر رو صدا کرد درسته؟
05-03-1394، 07:39 ب.ظ
اون متده نه model$ و برای پیاده سازی معماری Singleton بکار میره. درواقع شما با کمک Users::model() میتونید به شئ Singleton کلاس مدل Users دسترسی پیدا کنید. این با شئ model$ که میسازین خیلی فرق داره. این شئ، نماینده یک رکورد توی جدول دیتابیس هست.
05-03-1394، 07:46 ب.ظ
(05-03-1394، 07:39 ب.ظ)ADMIN نوشته: [ -> ]اون متده نه model$ و برای پیاده سازی معماری Singleton بکار میره. درواقع شما با کمک Users::model() میتونید به شئ Singleton کلاس مدل Users دسترسی پیدا کنید. این با شئ model$ که میسازین خیلی فرق داره. این شئ، نماینده یک رکورد توی جدول دیتابیس هست.
من دقیقا منظورم این کده
project::model()->findByPk(1)این مدلی که اینجا نوشته شده به شئ سینگلتون project اشاره میکنه ؟
اون $model هم متغیریه که ما در View بهش دسترسی داریم درسته؟
05-03-1394، 08:17 ب.ظ
بله. وقتی میگیم:
$model = Projects::model()->findByPk(1);در اینجا، با کمک متد ()model به شئ Singleton کلاس Projects دسترسی پیدا میکنیم و ازطریق اون، متد findByPk رو صدا میزنیم و پارامتر 1 رو بهش میدیم تا رکوردی که کلید اصلی اون مقدار 1 داره رو پیدا کنه و این رو توی متغیر model$ ذخیره میکنیم و به ویو میفرستیم.