比较laravel查询结果

时间:2018-01-25 13:49:35

标签: php mysql laravel

$get_user$get_code个查询中,他们都有一个group_id。

我有dd();他们两个并且100%肯定。

$get_user个查询有多个group_id,而$get_code只有一个group_id等于$get_user group_id的一个group_id

目前的目标是创建$get_user匹配查询。

获取组ID等于public function getCodesViewQr($code_id) { $userid = Auth::id(); $get_user = GroupUser::all()->where('user_id',$userid); $get_code = Code::all()->where('id',$code_id); $group_match = GroupUser::where('group_id', $get_code->group_id); $view['get_users'] = $get_user; $view['get_codes'] = $get_code; $view['group_matchs'] = $group_match; return view('codes.view_qr_code', $view); } group_id&#39>之一的代码

$get_code->group_id

群组匹配查询不起作用。 $match无法获取代码group_id。

如果匹配,则将$match设置为等于rue。否则$group_match = GroupUser::where('group_id', $get_code->group_id); 为假

Code

我使用了两个模型GroupUserCode

我的(This is the only on important right now)表格如下:

-id

-group_id GroupUser

-code_type

我的(This is the only on important right now)表格如下:

-id

-group_id public function group_user() { return $this->belongsto('App\GroupUser'); }

-user_id

-user_role

我已将模型链接

在我的代码模型中,我与GroupUser有关系

public function code()
{
  return $this->belongsto('App\Code');
}

在我的GroupUser模型中,我与代码

有关系
use App\Code;
use App\GroupUser;

在我的代码控制器中,我已经包含了我的模型。

-DSPEC_CPU_LP64

2 个答案:

答案 0 :(得分:0)

$get_code = Code::find($code_id);

// Check if the code isn't null, else give a fallback to group_id
$group_id = 0;

if (! is_null($get_code)) {
    $group_id = $get_code->group_id;
}

$group_match = GroupUser::where('group_id', $group_id)
                        ->get();

$match = FALSE;

if ($group_match->count()) {
    $match = TRUE;
}

答案 1 :(得分:0)

大家好,所以我得到了一个与我合作的人的帮助,这是他提出的解决方案。我们做了一些调整。所有的数据库和结果保持不变。我们刚刚改变了用来获得结果的方法。

我非常感谢来自@ linktoahref

的所有帮助
    public function view_code($random)
    {
      $code = Code::where('random', $random)->first();
      $view['code'] = $code;

      if ($code->code_type == 1)
      {
        // Its a coupon
        if (!empty(Auth::user()))
        {
          // Someones is logged in
          $user = Auth::user();
          $view['user'] = $user;
          $user_groups = GroupUser::where('user_id',$user->id)->pluck('group_id')->toArray();

          if (in_array($code->group_id, $user_groups))
          {
            // The user is an admin of this code
            return view('view_codes.coupon_admin', $view);

          }else
            {
              // Save the code to that users account
              return view('view_codes.generic_code', $view);
            }
        }else
          {
          // Anon
          return view('view_codes.coupon_anon', $view);
          }
      }elseif ($code->code_type == 2)
        {
          // Voucher..
        }else
          {
            // We don't know how to deal with that code type
          }
    }