从laravel 4中的控制器调用自定义模型方法

时间:2013-12-05 08:39:32

标签: php function model controller laravel

我正在尝试从Email我的SessionsController模型中调用自定义方法。这是我的模特

<?php

class Email extends Eloquent {
    protected $guarded = array();

    public static $rules = array();

    public function sendMail($type,$data)
    {
        echo "yes";
    }
}

从我的SessionsController我想打电话给sendMail方法。我怎么称呼它?

2 个答案:

答案 0 :(得分:10)

您可以使用

执行此操作
class Email extends Eloquent {
    public static function sendMail($type, $data)
    {
        //...
    }
}

从控制器打电话

Email::sendMail('someType', $dataArray);

或者,您可以使用Scope(而不是static

class Email extends Eloquent {
    public function scopeSendMail($query, $type, $data)
    {
        // You can use $query here
        // i.e. $query->find(1);
    }
}

从控制器

调用它
Email::sendMail('someType', $dataArray);

同时检查this answer

答案 1 :(得分:0)

有人这样回答我。

在SessionsController中添加以下内容

$type = ...
$data = ...

$email = new Email;
$email->sendMail($type,$data);