ProjectUser.php 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. <?php
  2. namespace App\Models;
  3. use Illuminate\Http\Request;
  4. use Illuminate\Support\Facades\DB;
  5. use Illuminate\Support\Facades\Validator;
  6. class ProjectUser extends BaseModel
  7. {
  8. public function projectRole()
  9. {
  10. return $this->belongsTo('App\Models\ProjectRole', 'project_role_id');
  11. }
  12. public function user()
  13. {
  14. return $this->belongsTo('App\Models\User', 'user_id');
  15. }
  16. public function project()
  17. {
  18. return $this->belongsTo('App\Models\Project', 'project_id');
  19. }
  20. public function getValidator(Request $request, $type)
  21. {
  22. if($type == 'store') {
  23. $validator = Validator::make($request->input('data'), [
  24. 'user_id' => 'required'
  25. ], [
  26. 'user_id.required' => '用户必选'
  27. ]);
  28. } else {
  29. $validator = Validator::make($request->input('data'), [
  30. 'project_role_id' => 'required'
  31. ], [
  32. 'project_role_id.required' => '角色必选'
  33. ]);
  34. }
  35. return $validator;
  36. }
  37. public static function getProjectManagerUser(){
  38. $user_list = DB::table('project_users')->select('user_id')->where('project_role_id','=',4)->distinct()->get()->toArray();
  39. $list = json_encode($user_list,true);
  40. $new_user_list = json_decode($list,true);
  41. foreach ($new_user_list as &$value){
  42. $name = User::where('id',$value['user_id'])->value('name');
  43. $value['name'] = $name;
  44. }
  45. return $new_user_list;
  46. }
  47. }