2017-01-02 2 views
0

На моем контроллереLaravel + нашивка вызова функции члена создать() на нуль «подписки() -> создать»

public function postJoin(Request $request){ 

    $user=Auth::user(); 

    $plan=$request['plan']; 

    $user->subscription($plan)->create($request['token'],['email'=>$users->email]); 
    return Redirect::action('subscripton')->with('notice','Ahora estás registrado'); 
} 

поэтому ошибка «Обращение к функции члена создать() на нуле» и когда я делаю

dd($user->subscription($plan)); 

его также говорит NULL.

проблема заключается в функции подписки. Любая помощь Пожалуйста?

здесь, где я отправляю полосой с Jquery

$(document).ready(function(){ 

Stripe.setPublishableKey('MYKEY'); 

$('#subscription-form button').on('click', function(){ 
    var form    = $('#subscription-form'); 
    var submit    = form.find('button'); 
    var submitInitialText = submit.text(); 
    submit.attr('disabled','disabled').text('Espere un momento...'); 

    Stripe.card.createToken(form, function(status, response){ 
     var token; 
     if (response.error) { 
      //esta parte no responde si hay error 
      form.find('.stripe-errors').text(response.error.message); 
      submit.removeAttr('disabled'); 
      submit.text(submitInitialText); 
     }else{ 

      token=response.id; 
      form.append($('<input type="hidden" name="token">').val(token)); 
      form.submit(); 
     } 
    }); 
}); 

}); 

мой взгляд

@extends('layouts.app') 

@section('content') 
<div class="container"> 
    <div class="row"> 
     <div class="col-md-8 col-md-offset-2"> 
      <div class="panel panel-default"> 
       <div class="panel-heading">Suscribirse</div> 

      <div class="panel-body">  
          {{Form::open(array('url'=>'subscription/join','id'=>'subscription-form'))}} 


          @include('subscription.partials.card') 
          <button class="btn btn-primary">Suscribirse</button> 
          <!-- {{Form::submit('Suscribirse',['class'=>'btn btn-primary'])}} --> 
      {{Form::token()}} 
      {{Form::close()}} 
      </div> 
     </div> 
    </div> 
</div> 

@endsection

это мое мнение Форма

<div class="stripe-errors panel"></div> 
       <div class="form-group"> 
        {{Form::label('escoge un plan')}} 
        {{Form::select('plan', ['Premium' => 'Grande ($5,000 MXN)', 'Vip' => 'Vip (5,500 MXN)'],null,['placeholder'=>'escoga un plan','class'=>'form-control'])}} 
       </div> 
       <div class="form-group"> 
        {{Form::label('tarjeta de credito')}} 
        {{Form::text('number',null, ['placeholder'=>'0000-0000-0000-0000','class'=>'form-control','data-stripe'=>'number'])}} 
       </div> 
       <div class="form-group"> 
        {{Form::label('Año de expiracion')}} 
        {{Form::text('año',null, ['placeholder'=>'00','class'=>'form-control','data-stripe'=>'exp-year'])}} 
      </div> 
      <div class="form-group"> 
        {{Form::label('mes de expiracion')}} 
        {{Form::text('mes',null, ['placeholder'=>'00','class'=>'form-control','data-stripe'=>'exp-month'])}} 
       </div> 
       <div class="form-group"> 
        {{Form::label('CVC')}} 
        {{Form::text('cvc',null, ['placeholder'=>'000','class'=>'form-control','data-stripe'=>'cvc'])}} 
       </div>  
+0

Для предотвращения ввода кода вы должны использовать '$ request-> input ('var')' вместо '$ request ['var']'. –

ответ

1

Всегда проверяйте, если пользователь вошел в систему или нет:

if (auth()->check()) { 
    // Do something. 
} 

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

$user->subscription()->create(....); 
+0

проверено. В любом случае я добавил строки –

1

я решить проблему с этим line->

$user->newSubscription('main', $plan)->create($creditCardToken, ['email' =>$email,]); 

но теперь он говорит: «У этого клиента нет подключенного источника оплаты».

myDasbord обновите клиентов, но theres нет платежей.

Смежные вопросы