API laravel, не извлекающий данные из БД - PullRequest
0 голосов
/ 08 мая 2018

Это на производственной стороне (на сервере unbtu Digital Ocean)

  • "Laravel: 5,3"
  • "php": "5.5.9"

Путь маршрута: /route/web.php (не в промежуточном программном обеспечении)

Route::get('api/getsymbol-request','MemberTradesController@getSymbolRequest');
Route::get('api/getsymbol','MemberTradesController@getSymbol'); 

Контроллер:

public function getSymbolRequest(Request $request){
        $symbol = DB::table("symbols")
            ->where("market_id", $request->market_id)
            ->pluck("symbol","id");
        return response() -> json($symbol);
    }

public function getSymbol(){
        $symbol = DB::table("symbols")
            ->pluck("symbol","id");
        return response() -> json($symbol);
    }

http://yourtradelog.com/api/getsymbol-request?market_id=1 // Это URL-адрес не работает У меня проблема ПОЧЕМУ ЭТО НЕ РАБОТАЕТ

http://yourtradelog.com/api/getsymbol // Это рабочий URL

Таблицы базы данных

    <script>
        $(document).ready(function() {

            $('#exchange').change(function(){
                var exchangeID = $(this).val();
                if(exchangeID){
                    $.ajax({
                        type:"GET",
                        url:"{{url('api/getsymbol-request/')}}?exchange_id="+exchangeID,
                        success:function(res){
                            if(res){
                                $("#market").empty();
                                $("#market").append('<option>Select</option>');
                                $.each(res,function(key,value){
                                    $("#market").append('<option value="'+key+'">'+value+'</option>');
                                });

                            }else{
                                $("#market").empty();
                            }
                        }
                    });
                }else{
                    $("#market").empty();
                }
            });

        });
    </script>
     {!! Form::open(['method'=>'POST', 'action'=> 'MemberTradesController@store']) !!}
 <div class="form-group col-sm-5">
                {!! Form::label('market_id', 'Markets:') !!}
                {!! Form::select('market_id', [''=>'Choose Options'] , null, ['class'=>'form-control', 'id'=>'market'])!!}
            </div>

        <div class="form-group col-sm-10">
            {!! Form::label('symbol_id', 'Symbol:') !!}
            {!! Form::select('symbol_id', [''=>'Choose Options'] ,  null, ['class'=>'symbol_id', 'id'=>'symbol','data-width'=>'60%', 'data-live-search'=>'true'] )!!}
        </div>
 
 <div class="form-group col-lg-4">
                {!! Form::submit('Add trade', ['class'=>'btn btn-success btn-lg']) !!}
            </div>

            {!! Form::close() !!}

Ответы [ 2 ]

0 голосов
/ 08 мая 2018

Попробуйте этот код:

public function getSymbolRequest(Request $request)
{
    $marketID = (int)$request->get('market_id')
    $symbol = DB::table('symbols')
        ->where('market_id', $marketID)
        ->get(['symbol','id']);
    return response()->json($symbol);
}
public function getSymbol()
{
    $symbol = DB::table('symbols')
        ->get(['symbol','id']);
    return response()->json($symbol);
}
0 голосов
/ 08 мая 2018

Я предпочитаю использовать такие параметры маршрута (см. Больше в документации здесь ):

Маршруты:

Route::get('api/getsymbol-request/{id}','MemberTradesController@getSymbolRequest');
Route::get('api/getsymbol','MemberTradesController@getSymbol'); 

Контроллер:

public function getSymbolRequest(Request $request, $id){
        $symbol = DB::table("symbols")
            ->where("market_id", $id)
            ->get()
            ->pluck("symbol","id");
        return response() -> json($symbol);
    }

public function getSymbol(){
        $symbol = DB::table("symbols")
            ->pluck("symbol","id");
        return response() -> json($symbol);
    }

Обратите внимание, что URL-адрес изменился на этот формат:

http://yourtradelog.com/api/getsymbol-request/1

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...