如何在yii 1中调用另一个模型中的一个模型的功能

时间:2016-11-04 10:00:54

标签: php yii yii1.x

我的StudentsForm模型中有以下代码:

public function attributeLabels()
    {
        return array(
            'id' => 'ID',
            'sname' => 'Name',
            'fill' => ' Date',
        );
    }

在我的模型中的TeacherForm中:

 public function attributeLabels()
        {
            return array(
                'id' => 'ID',
                'tname' => ' Teacher Name',
                'fill' => ' Date',
            );
        } 

如何在TeachersForm中调用StudentsForm的attributeLabels()。 两个模型都位于一个模型中

2 个答案:

答案 0 :(得分:1)

只需使用此

即可
class ReportsMailer < ActionMailer::Base
 default from: 'bot@xyz.in',reply_to: 'abc@xyz.in'


  def weekly_performance_email(sorted_centre_array, rank_diff, environment, hide_delta_column)

    @url  = "http://accounts.peerlearning.com";@centre_data = sorted_centre_array;@rank_diff = rank_diff;@from_date = (Time.now - 1.week).strftime("%d/%m/%Y")
    @to_date =  Time.now.strftime("%d/%m/%Y");@hide_delta_column = hide_delta_column
    attachments.inline['upside.png'] = File.read(Rails.root.join('app/assets/images/upside.png'));attachments.inline['downside.png'] = File.read(`Rails.root.join('app/assets/images/downside.png')); email_subj = '[Weekly Summary] Centre In-class Health Info'`
    if environment == EmailWorker::STAGING_ONLY
     mailto = "abc+MAILERTEST@xyz.in"
     email_subj = "MAILERTEST " + email_subj
     ccmailto = ""
    else
      mailto = ["pa@xyz.in","pm@xyz.in","efficacy@xyz.in"]
      ccmailto = ["tech+MAILERS@xyz.in"]
    end
    mail(to: mailto ,cc: ccmailto ,bcc: "bot@xyz.in",subject: email_subj)
  end  
end

$lables = StudentsForm::model()->attributeLabels(); 将是$lables

array

答案 1 :(得分:1)

您可以通过2种方法尝试此操作。

  1. by yii method
  2. 使用oop
  3. 第一种方法。

    $studentLable = StudentsForm::model()->attributeLabels();
    

    第二种方法。

    $studentModel = new StudentsForm;
    
    $studentLable = $studentModel->attributeLabels();