Laravel 5.8 Функция поиска в Restful API - PullRequest
0 голосов
/ 28 апреля 2019

Я реализую API для внешнего интерфейса и мобильных приложений Теперь я работаю над функцией поиска, где пользователь может ввести номер телефона в столбце или любые данные, которые я должен иметь. предоставить запрашиваемые данные в формате JSON

Я действительно не знаю, как делать запросы на основе данных, которые они вводят, поэтому я сделал это

Мой контроллер,

public function searchMember(Request $request)
{
    $data = $request->get('data');
    $member_info = Member::where('phone_number', 'like', "%{$data}%")
             ->get();

    return Response()->json([
        'status' => 'success',
        'data' => $member_info
    ], 200);
}

Моя модель,

class Member extends Model
{
    protected $fillable = ['name','member_id','service_id','batch_id','phone_number','office_name','designation','email','image','remember_token'];
}

И мои маршруты

Route::get('search?data=phone_number', 'MemberController@searchMember');

Когда я запускаю ресурс API, он возвращает 404 | не найдено. Я не могу найти решение, как решить эту проблему. В почтальоне я запускаю API примерно так:

http://localhost:8000/api/v1/search?data=0179826****

1 Ответ

0 голосов
/ 28 апреля 2019

Я знаю, что вы решили свою проблему, но на тот случай, если кто-то захочет узнать ответ. правильный способ передачи данных в URL в роуте:

Route::get('search/{phone_number}', 'MemberController@searchMember');

и в вашем контроллере получится так:

public function searchMember(Request $request, $phone_number)

тогда ваш URL будет выглядеть так:

http://localhost:8000/api/v1/search/0179826****

кроме этого, если вы собираетесь отправлять переменную через запрос, вам не нужно указывать это в роуте. поэтому маршрут будет выглядеть так:

Route::get('search', 'MemberController@searchMember');

контроллер и URL будут такими же, как вы отправили.

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