首页 > 解决方案 > 如何将路由变量值传递给模型类方法

问题描述

在路线中,我通过了 subscription_id ( http://admin.commonground.localhost/members/invite/31 )。我希望这个 subscription_id 保存在另一个表中。如何得到这个?目前没有订阅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) && $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;

        }

    }

标签: laraveljquery-uilaravel-5

解决方案


如果您的方法是:

获取 http://admin.commonground.localhost/members/invite/{subscription_id}

那么你可以直接使用subscriptionId,如下所示:

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

如果您的方法是发布的,那么您需要将您的密钥定义为有效负载subscription_id => 123,您将使用Request::Get('subscription_id')

希望这会有所帮助,谢谢


推荐阅读