php - 比较 laravel 查询结果

标签 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 匹配查询。

获取组 ID 等于 $get_user group_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);
}

组匹配查询不起作用。 $get_code->group_id 获取不到code group_id。

如果有匹配则设置 $match 等于 rue。否则 $match 为假

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

我正在使用两个模型 CodeGroupUser

我的代码表是这样的:

-id

-group_id (这是目前唯一重要的)

-代码类型

我的 GroupUser 表是这样的:

-id

-group_id (这是目前唯一重要的)

-user_id

-用户角色

我已经链接了模型

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

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

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

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

在我的代码 Controller 中,我包含了我的模型。

use App\Code;
use App\GroupUser;

最佳答案

大家好,我从一个共事的人那里得到了一些帮助,这就是他想出的解决方案。我们做了一些调整。所有数据库和结果都保持不变。我们只是改变了用于获取结果的方法。

非常感谢@ 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
          }
    }

关于php - 比较 laravel 查询结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48444490/

相关文章:

php - 获取 json 数组的正确形式语法和相关 jquery 是什么

php - 使用 PHP 拉入 RSS 提要时提取图像数据

php - 在生产阶段移动 Laravel 项目

php - 打印数组、子数组等

PHP url 到数组

python - Django - 如何使用 URL 中定义的外键创建 POST?

MySql 在创建表时默默地忽略 "references"关键字

python - 如何在发送到远程数据库之前缓存数据?

php - 未定义的属性:Illuminate\Database\Eloquent\Relations\BelongsTo::$status。 Laravel 5.5 关系

php - Laravel 5.4 中的自定义助手类