首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何建立拉拉售票系统模型之间的关系

如何建立拉拉售票系统模型之间的关系
EN

Stack Overflow用户
提问于 2018-12-19 19:59:36
回答 1查看 323关注 0票数 0

我正试图制作一个票务系统,我正在努力展示一个用户的票。现在这种关系的运作方式是,票被分配给一个用户,然后用户被分配到一个校园。因为校园是明确的,所以我需要把票分配到校园的位置,并有一个技术分配到那个校园。技术人员只应该看到技术人员被分配到的校园的门票。

理论上,它应该像用户被更改或重新定位一样工作,那么所需要做的就是更新TechID列。下面是表关系当前的工作方式:

  • 门票(PK - TicketID,FK - CampusID)
  • 校园(PK - CampusID,FK - TechID)
  • 用户(PK - TechID)

实际上,我有一个类似的问题,我之前问过,但这是在我意识到它以前的结构方式不是理想的设置之前。

下面是指向前面问题的链接:Previous Question

这是我目前的控制器:

代码语言:javascript
运行
复制
namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Auth;

use App\User;
use App\Campus;
use App\Ticket;

class PagesController extends Controller
{

    /**
     * Create a new controller instance.
     *
     * @return void
     */
    public function __construct()
    {
        $this->middleware('auth');
    }

    // Dashboard Page
    public function index()
    {
    $user = User::with(['campuses' => function($query) {
        $query->select(['TechID', 'CampusName']);
    },'tickets'])->where('id', Auth::id())->first();

    $campuses = Campus::all()->where('TechID', $user->id);
    $tickets = Ticket::all()->where('CampusID', $campuses->pluck('CampusID'));

    return view('home')->with([
       'user' => $user,
       'campuses'=>$campuses,
       'tickets'=>$tickets]);
    }
    // Queue Page
    public function Queue() {
        return view('Pages.Queue');
    }
    // Reports Page
    public function Reports() {
        return view('Pages.Reports');
    }
    // Search Page
    public function Search() {
        return view('Pages.Search');
    }
}

我希望这能行,但实际上没有票出现。用户可以有多个校园,所以我在想,也许这就是事情搞砸的地方。任何帮助都非常感谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-12-19 20:18:14

我建议在all/get之前执行where,以便在数据库级别上进行筛选,而不是在PHP--all之前让数据库返回所有的值,然后使用Collection过滤结果。另外,第二个查询需要whereIn,因为您要传递一个值数组:

代码语言:javascript
运行
复制
$campuses = Campus::where('TechID', $user->id)->get();
$tickets = Ticket::whereIn('CampusID', $campuses->pluck('CampusID'))->get();
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53858371

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档