首页 > 解决方案 > 从表中获取空值

问题描述

我有 3 个表会议,用户和 user_role。如果我选​​择空白,我想获得该值如果也为空。$_REQUEST['created_by_user_role'] is Array ( [0] => AM [1] => IS [2] => Mktg [3] => sales user [4] => Blank )当数组中为空白时,我想获取会议 ID1,2,3

示例表数据

meeting
 id created_by_name 
 1   a
 3
 2   b

user
 id user_name user_role
  1  a         1
  2  b         2

user_role
id user_role
 1    role_1
 2    role_2 

代码

<?php
$meeting_details = DB::table('meeting')
    ->leftJoin('users as users_created', 'meeting.created_by_name', '=', 'users_created.user_name')
    ->leftJoin('user_roles as role_created', 'users_created.user_role', '=', 'role_created.id');

if (count($_REQUEST['created_by_user_role'])) {
    $filter_created_by_user_role = DB::table('user_roles')
        ->whereIn('roles', $created_by_user_role)
        ->pluck('id')
        ->toArray();
}

$meeting_details = $meeting_details->whereIn('users_created.user_role', $filter_created_by_user_role);

if (in_array('Blank', $request['created_by_user_role'])) {
    $filter_created_by_user_role[] = null;
    $meeting_details = $meeting_details->whereNull('users_created.user_role');
}

$meeting_details = $meeting_details->select('id')->get();

我上面的查询返回

标签: phplaravellaravel-5

解决方案


推荐阅读