代码之家  ›  专栏  ›  技术社区  ›  slickness

查询函数laravel的问题

  •  0
  • slickness  · 技术社区  · 6 年前

    关系:

    一对一

    路线

     Route::get('/invite/{url}', 'Auth\RegisterController@show')->name('invite.show');
    

    餐桌邀请:

    Schema::create('invites', function (Blueprint $table) {
                $table->increments('id');
                $table->integer('user_id')->unsigned()->nullable();
                $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');
                $table->text('greeting')->nullable();
                $table->string('url')->unique();
                $table->timestamps();
            });
    

    public function show($url)
    {
        $user = User::where(function ($query) use ($url) {
            $query->where('invites.url', '=', $url);
        })->first();
    
        return view('invite_user', compact('user'));
    }
    
    1 回复  |  直到 6 年前
        1
  •  1
  •   Paras    6 年前

    试试这个:

    $user = User::whereHas('invites', function($query) use($url) {
        $query->where('url', $url);
    })->first();
    

    确保你有 invites User 像这样的模型:

    public function invites() {
        return $this->hasMany(Invite::class, 'user_id');
    }