Laravel 5模型和定制方法的范围

时间:2015-06-24 19:39:17

标签: php mysql methods laravel-5 models

我有一个模型,我创建了一个自定义方法,用于从两个表(模型和相关的表)中检索数据,以避免多次查询。不能说我是Laravel的专家,但我没事。 这是方法:( class is Criteria)

public static function withDiagnostic()
{
    return (\DB::select(\DB::raw("SELECT productspecs.product_id AS productId, criteria.id as criteriaId,criteria.name as criteriaName,diagnostic.name as diagnosticName ".
                  "FROM criteria, diagnostic,productspecs ".
                  "WHERE productspecs.criteria_id=criteria.id ".
                  "AND productspecs.diagnostic_id=diagnostic.id ".
                  "AND criteria.diagnostic_id = diagnostic.id ".
                  "AND criteria.inactive=0 ".
                  "ORDER by diagnostic.name,criteria.name")));
}

我希望能够Criteria::withDiagnostic()->where('productId',20),但我得到了一个未定义的方法。

我需要做什么(没有创建第二种方法来执行此操作?)

并且该自定义查询只能在Eloquent中重写吗?我的Eloquent对于多个表连接和联合等不太好。

0 个答案:

没有答案