ユーザーからの入力に依存するデータベースのデータを表示しようとしています。ajax リクエストを使用してデータを取得し、コントローラーの関数に送り返し、ビューにエクスポートします。このデータを収集して、別のビューに移動せずに表示したいと思います (以前のフォームを非表示にして、新しいフォームを再表示するだけです)。
関連するコードは次のとおりです。
Javascript:
$('#submit_one').on('click', function(event) {
event.preventDefault();
if(! $(this).hasClass('faded')) {
var fbid = $("input[name='like']:checked").val();
//variable to be collected is fbid
request = $.ajax({
url: "http://crowdtest.dev:8888/fans/pick_favorite",
type: "post", success:function(data){},
data: {'fbid': fbid} ,beforeSend: function(data){
console.log(data);
}
});
to_welcome_two();
}
});
function to_welcome_two()
{
$('#welcome_one').addClass('hidden');
$('#welcome_two').removeClass('hidden');
}
コントローラー機能:
public function pick_favorite() {
$fbid=Input::get('fbid');
return Artist::specific_artist($fbid);
}
public function getWelcome() {
return View::make('fans.welcome')
->with('artists', Artist::artists_all())
->with('favorite_artist', Artist::favorite_artist())
->with('pick', FansController::pick_favorite());
}
モデル機能:
public static function specific_artist($fbid) {
$specific_artist = DB::table('artists')
->where('artists.fbid', '=', $fbid)
->get();
return $specific_artist;
}
ビューは「ようこそ」ページにあります。私の質問は、モデル データをビューに表示し、fbid 入力から正しいデータが出力されていることを確認するにはどうすればよいですか?
私はこのようなことを試しました:
@foreach($pick as $p)
<span class="artist_text">{{$p->stage_name}}</span>
<br>
<span class="artist_city">{{$p->city}}</span>
@endforeach
しかし、これは何も出力していません。何か案は?