질문을 삭제하지 말아주세요.!
 
1
0
-1
class RouteServiceProvider extends ServiceProvider
{
    /**
     * This namespace is applied to your controller routes.
     *
     * In addition, it is set as the URL generator's root namespace.
     *
     * @var string
     */
    protected $namespace = 'App\Http\Controllers';

    /**
     * Define your route model bindings, pattern filters, etc.
     *
     * @return void
     */
    public function boot()
    {

        //  사용자 의존성 주입
        Route::bind('user', function ($userId) {

            if (! is_numeric($userId)) {
                return null;
            }

            $user = User::find($userId);

            return $user;

        });

	}
}

사용자를 찾았는데 없으면, 바로 response json로 출력하고 싶은데 가능할까요??


    CommentAdd your comment...

    1 answer

    1.  
      1
      0
      -1

      User Model의 id값으로 하시려면

      /* routes/web.php */
      Route::get('users/{user}', function(\App\User $user) {
          return $user;
      });

      User Model의 name값으로 하시려면

      /* routes/web.php */
      Route::get('users/{user}', function(\App\User $user) {
          return $user;
      }
      
      
      /* app/Providers/RouteServiceProvier.php */
      public function boot()
      {
          parent::boot();
          Route::bind('user', function ($value) {
              return \App\User::where('name', $value)->first();
          });
      }

      굳이 return response()→json($user)  안하고 return $user만 해도
      collection 타입이라 그런지 바로 json으로 return 하네요.

        CommentAdd your comment...