사용자를 피벗 테이블에서 포럼 카테고리 (서브 레딧)에 중재자로 할당하려고합니다. moderators
다음은 테이블입니다.
중재자 : id, user_id, subreddit_id, created_at, updated_at
사용자 : 아이디 : 이름 : 이메일 ...
서브 레딧 : id, user_id, name ...
뷰, 컨트롤러 및 모델을 만들었지 만 데이터가 데이터베이스에 제출되지 않고 오류가 발생하지 않습니다.
참고 : subreddit/{id}/moderators/create
보기로 이동하여 제출을 시작하려면 이 경로를 방문해야합니다 .
편집 : 방금 store()
기능을 비우고 대체 return 'done';
했지만 효과가없는 것 같습니다. 제출 버튼을 클릭하면 페이지가 새로 고침되고 아무 일도 일어나지 않습니다. 그렇다면 문제가보기에 있습니까?
Routes.php
Route::resource('subreddit', 'SubredditController');
Route::resource('subreddit.moderators', 'ModeratorsController');
RouteServiceProvider
$router->model('articles', 'App\Article');
$router->model('subreddit', 'App\Subreddit');
$router->model('posts', 'App\Post');
$router->model('moderators', 'App\Moderator');
Moderator
모델
protected $table = 'moderators';
protected $fillable = ['user_id', 'subreddit_id'];
public function subreddit() {
return $this->belongsTo('App\Subreddit');
}
public function user() {
return $this->belongsTo('App\User');
}
ModeratorsController
-여기서는 작동하는지 테스트하기 위해 user_id 및 subreddit_it을 수동으로 제출하려고합니다.
public function create(Moderator $moderator, Subreddit $subreddit, User $user)
{
$subreddit = Subreddit::with('user')->findOrFail($subreddit->id);
return view('user/moderators')->with(compact('subreddit'));
}
public function store(Requests\ModeratorRequest $request, Subreddit $subreddit)
{
$moderator = new Moderator;
$moderator->user_id = 2;
$moderator->subreddit_id = 17;
$moderator->save();
}
그리고 이것은 뷰 내부의 양식입니다. Typeahead.js를 사용하고 있기 때문에 div가 id="remote"
{!! Form::open(['url' => 'subreddit/' . $subreddit->id . '/moderators', 'method' => 'POST']) !!}
<p>
<div id="remote">
<input class="form-control typeahead" type="text" placeholder="Choose a Username" name="user_name">
<input type="hidden" class="user_id" value="" name="user_id">
</div>
</p>
<p>
{!! Form::submit('Submit Post', ['id' => 'submit', 'class' => 'btn btn-primary']) !!}
</p>
{!! Form::close() !!}
ModeratorRequest
public function authorize()
{
return true;
}
public function rules()
{
return [
'user_id' => 'required',
'subreddit_id' => 'required'
];
}
설명서foreach ($messages->all() as $message)
에 따라 시도하십시오 .
문제는 ModeratorRequest
뷰에 표시되지 않는 유효성 검사 오류를 반환 한다는 것 입니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다