通过Laravel Eloquent从多个表中获取数据

时间:2019-02-27 17:59:02

标签: laravel eloquent

我有三个桌子。 rate_paramsreview_form_languagesreview_form_translations。以及相应的模型RateParamReviewFormLanguage和reviewFormTranslation。

rate_params具有列ID,info_message,订单和验证列。

review_form_languages具有ID和名称

review_form_translations具有ID,rate_params_id,review_form_languages_id和文本。

我想查询从rate_params获取所有数据和从review_form_translations获取文本的查询,其中review_form_languages.name是传递的参数。

我有一个查询,该查询从RateParam模型中获取所有数据,如下所示

 $reviewForm = RateParam::select(
        'rate_params.id',
        'rate_params.validation',
        'rate_params.info_message',
    )->orderBy('order', 'asc')->get()->toArray();

我如何加入review_form_translations作为传递参数的地方,从review_form_languages.name获取文本?

1 个答案:

答案 0 :(得分:1)

你可以试试吗,

 use DB; // Top of the file

 $reviewForm = DB::table('rate_params')
               ->join('review_form_translations','rate_params.id','=','review_form_translations.rate_params_id')
               ->join('review_form_languages','review_form_languages.id','=','review_form_translations.review_form_languages_id')
               ->orderBy('rate_params.order', 'asc')
               ->get()
               ->toArray();