php
  • laravel
  • 2016-05-31 3 views 1 likes 
    1

    나는 laravel에 상당히 익숙하며 사용자가 "dm 's"를 서로에게 보낼 수 있도록 시스템에 시스템을 구현했습니다. 하지만 이제는보기를 만들 때 dm을 보내려는 사용자를 확인할 수있는 확인란이 있습니다. 나는 내 컨트롤러 내 생성 기능이 같은 사용자를 얻을 :Laravel보기/컨트롤러에 사용자 ID 전달

    $users = User::where('id', '!=', Auth::id())->get(); 
    

    내 목표는 사용자가 다른 뷰에서 다른 사용자 이름을 클릭하거나 뭔가 "DM을 보내"와 옵션을 선택할 수 있다는 것입니다. 하지만 내 컨트롤러에서이 id를 내 create 함수에 전달할 수있는 아이디어가 없습니다. 체크 박스를 숨기고 전달 된 ID를 선택해야합니까? 또는 내 게임 플랜은 여기에 있어야합니까?

    public function create($userid) 
        { 
         $users = User::where('id', '=', $userid); 
         return view('messenger.create', compact('users')); 
        } 
    

    이 내 루트입니다 내 컨트롤러에서 함수를 만드는 내입니다 : 문제는 내 생성 기능에 그 $ 사용자 ID를 입력하는 방법을 몰라

    Route::group(['prefix' => 'messages'], function() { 
        Route::get('/', ['as' => 'messages', 'uses' => '[email protected]']); 
        Route::get('create/{userid}', ['as' => 'messages.create', 'uses' => '[email protected]']); 
        Route::post('/', ['as' => 'messages.store', 'uses' => '[email protected]']); 
        Route::get('{id}', ['as' => 'messages.show', 'uses' => '[email protected]']); 
        Route::put('{id}', ['as' => 'messages.update', 'uses' => '[email protected]']); 
    }); 
    

    가 . 하지만이 그것을 할 수있는 올바른 방법, 내가

    가 정말 사전에있는 모든 도움을

    감사를 사용할 수 여기에 완전히 잘못 경로에있을 수 있습니다 생각입니다 확실하지 않다!

    +0

    에 사용자가 클릭은 "다른 사용자 이름이"당신은을 사용하여 사용자 정의 링크가 필요 경로 : 라우트의 경우 : some user

    답변

    0
    +0

    이름이나 ID를 생성보기에 보내야 만 새로운 경로와 기능을 만들지 않고 동일한 ID 또는 이름 – Cruzito

    +0

    의 체크 박스를 선택할 수 있습니다. 또는 나는 틀린가? – Cruzito

    +0

    한 명의 사용자를 선택 하시겠습니까? 아니면 여러 명의 사용자를 선택할 수 있습니까? – Codearts

    0

    이 시도 :

    귀하의 경로 :

    Route::get('create/{userid}', ['as' => 'messages.create', 'uses' => '[email protected]']); // to load the form 
    Route::post('create/{userid}', ['as' => 'messages.create', 'uses' => '[email protected]']); // to create the DM 
    

    는 사용자 정보 양식을로드하려면 :

    public function createForm($userid) 
    { 
        $user = User::find($userid); 
        return view('messenger.create', array("user" => $user)); 
    } 
    

    당신은 action 속성에있는 URL에 대한의 ID를 패스포트 수 있습니다 예 :

    <form action="create/{{ $user->id }}" method="POST"> 
    

    는 DM 작성하는 방법

    public function create($userid) 
    { 
        $user = User::find($userid); 
        //create the DM 
    } 
    
    다른 해결책이 있습니다

    , 당신은 숨겨진 입력을 전달할 수 있습니다 당신이 링크를 사용하고 단일 사용자 A를 보내려면

    +0

    but I don't want to use a form to pass the id just a link is this possible? – Cruzito

    +0

    You can create another route, and a link like this :

    관련 문제