Как читать параметры URL в laravel


Как читать параметры URL в laravel

29.11.2017 01:33:32 Просмотров 6 Источник

Я начинающий и пытаюсь создать реферальную систему. ниже приведен пример url-адреса

http://dev.lea.com/register?ref=mh2HPLpVSn

Я пытаюсь получить реферальную строку. как я могу получить отдельно? есть ли необходимость в промежуточном программном обеспечении для получения файлов cookie? если да, то каким будет код промежуточного программного обеспечения? и как я могу получить реферальную ссылку в RegisterController?

Вот мой контроллер регистра.

<?php

namespace Lea\Http\Controllers\Auth;

use DB;
use Lea\User;
use Lea\Http\Controllers\Controller;
use Illuminate\Support\Facades\Validator;
use Illuminate\Foundation\Auth\RegistersUsers;
use Illuminate\Http\Request;
use Cookie;

class RegisterController extends Controller
{
    /*
    |--------------------------------------------------------------------------
    | Register Controller
    |--------------------------------------------------------------------------
    |
    | This controller handles the registration of new users as well as their
    | validation and creation. By default this controller uses a trait to
    | provide this functionality without requiring any additional code.
    |
    */

    use RegistersUsers;

    /**
     * Where to redirect users after registration.
     *
     * @var string
     */
    protected $redirectTo = '/';

    /**
     * Create a new controller instance.
     *
     * @return void
     */
    public function __construct()
    {
        $this->middleware('guest');
    }

    /**
     * Get a validator for an incoming registration request.
     *
     * @param  array  $data
     * @return \Illuminate\Contracts\Validation\Validator
     */

    protected function validator(array $data)
    {
        return Validator::make($data, [
            'fname' => 'required|string|max:255',
            'lname' => 'required|string|max:255',
            'referral' => 'string|max:255',
            'username' => 'required|string|max:255',
            'email' => 'required|string|email|max:255|unique:users',
            'password' => 'required|string|min:6|confirmed',
            // 'tracking_id' => 'required',
        ]);
    }

    /**
     * Create a new user instance after a valid registration.
     *
     * @param  array  $data
     * @return \Lea\User
     */
    protected function create(array $data, Request $request)
    {

        //  printing here referral Link
        echo $request()->ref;


        // $referred_by = Cookie::get();
        // print_r($referred_by); 
        die;

        return User::create([
            'fname' => $data['fname'],
            'lname' => $data['lname'],
            'username' => $data['username'],
            'email' => $data['email'],
            'password' => bcrypt($data['password']),
            'affiliate_id' => str_random(10),
            // 'referred_by' => $referred_by,
            'identity' => $data['identity'],
            'dob' => $data['dob'],
            'board_id' => $data['board_id'],
            'class_id' => $data['class_id'],
            'subject_id' => $data['subject_id'],
            'institute' => $data['institute'],
            'address' => $data['address'],
            'city' => $data['city'],
            'std_mobile' => $data['std_mobile'],
            'father_name' => $data['father_name'],
            'father_mobile' => $data['father_mob'],
            'ipadress' => \Request::ip(),
        ]);
    }

}
У вопроса есть решение - Посмотреть?

Ответы - Как читать параметры URL в laravel / How to read URL parameters in laravel

Valkyrie00

29.11.2017 01:42:43

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

public function register(Request $request)
{
    $allParams = $request->all();
    $refParam = $request->ref;
    dd($allParams, $refParam);

    ...
}
Является ответом!
Hiren Gohel

29.11.2017 01:44:30

Когда у вас есть URI, такой как /register?ref=mh2HPLpVSn, вы можете получить ref следующим образом:

$request()->ref

в вашем контроллере! Я полагаю, что вы также можете использовать $request()->has('ref'), чтобы определить, присутствует ли он в URI.

Надеюсь, это вам поможет!!

Insax

29.11.2017 01:47:11

public function showRegister(Request $request) {
    var_dump(request->ref)
}

затем вы можете делать такие вещи, как проверка и так далее, еще одна возможность-изменить шаблон вашей регистрационной формы и добавить скрытое поле с рефкодом из параметра ref и обработать весь запрос в вашем методе register.

AbdulBasit

06.09.2020 10:03:13

В laravel 6 + внутренний контроллер вы можете использовать как

$request->get('ResourcePath')
Помочь в развитии проекта:
Закрыть X