Как передать значение переменной маршрута в метод класса модели

#laravel #jquery-ui #laravel-5

#laravel #jquery-пользовательский интерфейс #laravel-5

Вопрос:

В маршруте я передаю subscription_id (http://admin.commonground.localhost/members/invite/31). Я хочу, чтобы этот subscription_id сохранялся в другой таблице. Как это получить? В настоящее время идентификатор подписки не сохраняется в базе данных, другие значения сохраняются без проблем. Пожалуйста, помогите

Мой код здесь

  public function send($people)
    {

        //    $subscription = new Subscription();
        //    $company = new Company();
        //   $companyUser->company()->getForeignKey(), $company->getKey()
       // $subscription_id = $this->setAttribute($subscription_id);

        try {

            foreach($people as $person) {



                $email = trim( $person['email'] );
                $name = trim( Utility::hasString(trim($person['name'])) ? $person['name'] : '');

                if(!Utility::hasString($email)){
                    continue;
                }

                $instance = new static();

                $instance->getConnection()->transaction(function () use ($instance, $email, $name) {

                    try{

                        $found = $instance->where('email', '=', $email)->first();

                        if(!is_null($found) amp;amp; $found->exists){
                            $found->delete();
                        }

                        $invite_status = 'pending';
                        $subscription_id = '31';

                        $instance->setAttribute('email', $email);
                        $instance->setAttribute('name',  $name);
                        $instance->setAttribute('token', $instance->createNewToken());
                        $instance->setAttribute('subscription_id', $subscription_id );
                        $instance->setAttribute('invite_status',   $invite_status);

                        $instance->save();


                        Mail::queue(new SignupInvitationMail($instance));

                    }catch(ModelValidationException $e){



                    }catch(Exception $e){


                    }

                });

            }

        }catch (Exception $e) {

            throw $e;

        }

    }
  

Комментарии:

1. Это код из контроллера? Куда вы указываете свой маршрут?

Ответ №1:

Если ваш метод :

ПОЛУЧАЕМ : http://admin.commonground.localhost/members/invite/{subscription_id}

затем вы можете напрямую использовать subscriptionId, как показано ниже :

 public function yourControllerMethod($subscriptionId)
{
   // $subscriptionId = 31;
}
  

Если вашим методом является post, то вам нужно определить свой ключ в виде полезной нагрузки типа subscription_id => 123 , и вы получите его с помощью Request::Get('subscription_id')

Надеюсь, это поможет, спасибо