如何在关系中分组?

时间:2019-07-29 09:16:07

标签: laravel laravel-5

我有发布表

| ID | TITLE | SLUG | CONTENT | COMMENTS_COUNT | 

我有post_reactions表

| ID | USER_ID | TYPE | POST_ID | 

我想建立一种关系,使发布的内容产生反应

3 个答案:

答案 0 :(得分:1)

您可以直接按型号进行操作。

public function postrelation()
{
    return $this->hasMany(PostRelation::class)->groupBy('type');
}

Post::with(['postrelation' => function($q){
    $q->groupBy('type');
}])->get();

答案 1 :(得分:1)

您可以使用回调函数对关系进行分组,如下所述。

  Post::with(['post_reactions' => function($query){
        $query->groupBy('TYPE');
  }])->get();

答案 2 :(得分:0)

您可以在模型类中使用以下语法进行关联

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class User extends Model {

/**
 * Get the phone record associated with the user.
 */
    public function phone(){
        return $this->hasOne('App\Phone');
    }
}