雄辩的模特关系

时间:2018-04-18 07:06:49

标签: php laravel eloquent

const email = "john@sub.domain.com" const address = email.split('@').pop() const domain = parser(address).domain 型号

Project

namespace App; use Illuminate\Database\Eloquent\Model; class Project extends Model { protected $table = 'project'; protected $primaryKey = 'project_id'; } 型号

Developer

我想将这两个模型加入以下SQL:

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Developer extends Model
{
    protected $table = 'developer';
    protected $primaryKey = 'id';
}

有人能帮助我吗?通过不同的文档查看我很困惑。

请指导我正确的方法。

2 个答案:

答案 0 :(得分:0)

您可以使用以下查询执行此操作,也可以通过雄辩查询来执行此操作,您必须在模型中定义关系。

DB::table('project')
->join('developer', 'project.dev_id', '=', 'developer.id')
->select('developer.developer_name', DB::raw("count(project.dev_id) as count"))
->groupBy('developer.developer_name')
->get();

答案 1 :(得分:0)

projects模型中创建Developer关系。

public function projects()
{
    return $this->hasMany(\App\Project::class, 'dev_id')
}

然后,您可以使用

为所有开发人员提供他们正在处理的项目数量
Developer::withCount('projects')->get();