我想从表role_users
,列中获取数据role_id
。目前,我在控制器中有这个:
$data['contact_users'] = DB::table('contacts')
->join('users' , 'users.id', '=', 'contacts.contact_id')
->join('industries' , 'industries.id', '=', 'users.industry_id')
->join('countries' , 'countries.id', '=', 'users.country_id')
->join('organization_types' , 'organization_types.id', '=', 'users.organization_type_id')
->select('users.*','industries.industry','countries.country','organization_types.organization_type')
->where('contacts.contact_id','!=',$id)
->where('users.deleted_at','=',NULL)
->whereIn('contacts.user_id', $contact_id)
->whereNotIn('contacts.contact_id', $contact_id)
->whereNotIn('contacts.contact_id', $inviter_id)
->groupBy('contact_id')
->take(4)
->get();
我在此代码中使用它:
{{$contact->industry_id}} or {{$contact->country_id}}
我需要使用这样的东西。
{{$contact->role_id}}
这对每个用户都有效。但是我需要从role_users
列中获取数据role_id
。我不知道如何使用->join()
,我非常需要它。谢谢。
我在末尾添加了一个额外的联接和一个选择字段,
$data['contact_users'] = DB::table('contacts')
->join('users', 'users.id', '=', 'contacts.contact_id')
->join('industries', 'industries.id', '=', 'users.industry_id')
->join('countries', 'countries.id', '=', 'users.country_id')
->join('organization_types', 'organization_types.id', '=', 'users.organization_type_id')
->join("role_users", "role_users.user_id","=","users.id")
->select('users.*', 'industries.industry', 'countries.country', 'organization_types.organization_type', "role_users.role_id")
->where('contacts.contact_id', '!=', $id)
->where('users.deleted_at', '=', null)
->whereIn('contacts.user_id', $contact_id)
->whereNotIn('contacts.contact_id', $contact_id)
->whereNotIn('contacts.contact_id', $inviter_id)
->groupBy('contact_id')
->take(4)
->get();
我收到此错误:
SQLSTATE[42S02]: Base table or view not found: 1146 Table 'wscomDev.user_roles' doesn't exist
使用role_users.role_id代替user_roles.role_id
@RahulRai如果但是我需要从role_users,column role_id列中获取数据,这是OP的问题,users表如何才能具有role_id来加入?
欢迎!请不要忘记接受答案!:) 谢谢。