رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
model در yii
#1
تمام کنترلر ها کلاس مدلشون به نام $model قابل دسترسیه؟
پاسخ
تشکر شده توسط:
#2
خیر. اگه دقت کنید ما خودمون یک شئ به اسم model$ از کلاس میسازیم (یا با new یا با find که خروجی اون، یک شئ از کلاس ActiveRecord هست). اگه اسم این متغیر رو چیز دیگری بگذاریم، اونوقت توی view هم با همون اسم باید کار کنیم.
پاسخ
تشکر شده توسط: sm_pakdel , abdollah110110
#3
(05-03-1394، 07:22 ب.ظ)ADMIN نوشته: خیر. اگه دقت کنید ما خودمون یک شئ به اسم model$ از کلاس میسازیم (یا با new یا با find که خروجی اون، یک شئ از کلاس ActiveRecord هست). اگه اسم این متغیر رو چیز دیگری بگذاریم، اونوقت توی view هم با همون اسم باید کار کنیم.
اینجور که فهمیدم تو کلاس مدل یه متد استاتیک به نام model  وجود داره که مقدار پیش فرضش نام اون کلاس مدل هست
که از CActiveRecord  مشتق شده و چک میکنه این کلاس لود شده یا نه و .... 
درسته ؟

برای دسترسی به activeRecorde  هر مدلی هم به شکل زیر عمل میشه 

issue->model()


بعد از نام مدل هم می شه متد مورد نظر رو صدا کرد درسته؟
پاسخ
تشکر شده توسط:
#4
اون متده نه model$ و برای پیاده سازی معماری Singleton بکار میره. درواقع شما با کمک Users::model() میتونید به شئ Singleton کلاس مدل Users دسترسی پیدا کنید. این با شئ model$ که میسازین خیلی فرق داره. این شئ، نماینده یک رکورد توی جدول دیتابیس هست.
پاسخ
تشکر شده توسط: abdollah110110
#5
(05-03-1394، 07:39 ب.ظ)ADMIN نوشته: اون متده نه model$ و برای پیاده سازی معماری Singleton بکار میره. درواقع شما با کمک Users::model() میتونید به شئ Singleton کلاس مدل Users دسترسی پیدا کنید. این با شئ model$ که میسازین خیلی فرق داره. این شئ، نماینده یک رکورد توی جدول دیتابیس هست.

من دقیقا منظورم این کده 
project::model()->findByPk(1)
این مدلی که اینجا نوشته شده  به شئ سینگلتون project اشاره میکنه ؟

اون $model هم متغیریه که ما در View بهش دسترسی داریم درسته؟
پاسخ
تشکر شده توسط:
#6
بله. وقتی میگیم:
$model = Projects::model()->findByPk(1);
در اینجا، با کمک متد ()model به شئ Singleton کلاس Projects دسترسی پیدا میکنیم و ازطریق اون، متد findByPk رو صدا میزنیم و پارامتر 1 رو بهش میدیم تا رکوردی که کلید اصلی اون مقدار 1 داره رو پیدا کنه و این رو توی متغیر model$ ذخیره میکنیم و به ویو میفرستیم.
پاسخ
تشکر شده توسط: sm_pakdel , abdollah110110




کاربران در حال بازدید این موضوع: 1 مهمان