ПОЛУЧИТЬ данные пусто в Laravel - PullRequest
0 голосов
/ 06 января 2019

Привет, я новичок в Laravel и до сих пор добился хорошего прогресса. Сейчас моя голова заблокирована, и мне нужно какое-то направление или помощь, пожалуйста.

Я получаю данные от переключателя, но GET Data пуст. Мне нужно заполнить эти данные (pay) в существующую БД, и я получаю «Создание объекта по умолчанию из пустого значения», и я согласен с Laravel :) Я думаю, мое отсутствие знаний блокирует меня здесь.

Спасибо.

Это данные GET и POST

GET Data empty
POST Data
_token = "72nrnI7Y7xuIQJe6LZPLGLzNsAv6ZZbY29zkjcIr"
pay = "CC"`

Это модель

namespace App;
use Illuminate\Database\Eloquent\Model;
use DB;
use Auth;
class DAddress extends Model
{
 protected $table='dAddress';
 protected $fillable = ['payment_method'];
 public function createPay()
 {
   $user = Auth::user();
   $order = $user->daddress()->create([
   'payment_method' => paymentMethod()
    ]);
 }
}

Это контроллер

public function paymentMethod(Request $request) {
    $address->payment_method = $request->pay;
    DAddress::createPay();
    Cart::destroy();
    return redirect('abc');
}

Здесь я получаю данные HTML

<form action="{{url('/paymentMethod')}}" method="post">
<input type="hidden" value="{{csrf_token()}}" name="_token"/>

<div class="form-group">
        <div class="col-md-6">
            <!-- First name -->
            <input type="radio"  class="form-control"  name="pay" 
            value="CC"><i class="fa fa-credit-card"></i> Credit Card
            <br>  <br>
            <input type="radio"  class="form-control"  name="pay" 
            value="PP"><i class="fa fa-paypal"></i> Paypal
            <br>  <br>
            <input type="radio"  class="form-control"  name="pay" 
            value="BT"><i class="fa fa-university"></i>  Bank Transfer
        </div>
</div>  
<input type="submit" class="btn btn-primary" value="Move to Last Page" />

Это User.php, который я добавил ниже.

public function daddress()
    {
        return $this->hasMany(DAddress::class);
    }

Ответы [ 2 ]

0 голосов
/ 07 января 2019

если вы используете метод создания laravel, вы можете сделать что-то вроде этого: $ payment_method = App \ createPay :: create (['payment_method' => $ request-> pay]); иначе вы могли бы создать свою модель как

$pay =createPay();
$pay->payment_method=$request->pay;
$pay->save();

я бы хотел, чтобы вы любили логику в контроллере, я бы сделал что-то подобное в моем контроллере публичная функция createPay (запрос $ request) {

 $user = Auth::user();
$id=$user->id;
$payment=createPay::find($id);
$payment->payment_method=$request->pay;
$payment->save();
return redirect('abc');

}

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

0 голосов
/ 07 января 2019

Я не понимаю, что вы пытаетесь сделать с этой строкой $ address-> payment_method = $ request-> pay; когда вы говорите $ address-> payment_method, что содержит объект $ address и где находится payment_method, к которому вы пытаетесь получить доступ, почему бы не сделать что-то подобное этому: глобальная переменная

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