为了账号安全,请及时绑定邮箱和手机立即绑定

Json 响应按来自拉拉维尔中另一个表的 ID 筛选

Json 响应按来自拉拉维尔中另一个表的 ID 筛选

PHP
智慧大石 2022-09-12 10:11:51
目前,我的数据库中有这2个不同的。views第一个是列出所有项目及其详细信息的地方view_project_percentage以及每个特定项目的任务列表view_projtaskview_project_percentageview_projtask我有这个工作代码我的模型Project.php <?php namespace App\Models;use Illuminate\Database\Eloquent\Model;class Project extends Model{protected $table = "view_project_percentage";public function tasks(){    return $this->hasMany(ProjectTask::class, 'projCode', 'proj_code')    ->where('deleted',0);}}和ProjectTask.php<?phpnamespace App\Models;use Illuminate\Database\Eloquent\Model;class ProjectTask extends Model{protected $table = "view_projtask";public function project(){    return $this->belongsTo(Project::class, 'proj_code', 'projCode')    ->where('deleted',0)    ->where('taskDeleted',0);} }在我的我有这个Controller public function get_all_projtask(){    return response()->json(Project::with('tasks')->get());}
查看完整描述

1 回答

?
猛跑小猪

TA贡献1858条经验 获得超8个赞

您可以为员工项目创建另一个模型


<?php


...

class EmployeeProject extends Model

{

protected $table = 'tbl_emp_proj';


public function projects()

{

    return $this->hasMany(Project::class, 'projCode');

}

在您的控制器中,您可以使用它们的 empployee id 和延迟负载关系来过滤它。


顺便说一句,在这里阅读更多文档


public function get_all_projtask()

{

    $useProject = EmployeeProject::where(['emp_id' =>auth()->user()->company_id])-firstOrFail();

    return response()->json($useProject->load('projects.tasks'));

}


查看完整回答
反对 回复 2022-09-12
  • 1 回答
  • 0 关注
  • 68 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信