Я получаю эту ошибку "Создание объекта по умолчанию из пустого значения". Может кто-нибудь мне помочь? - PullRequest
0 голосов
/ 06 января 2020

это мой клинок. Добавление продукта работает, но я получаю сообщение об ошибке на странице обновления.

@extends('base')
@section('form')

<div class="col-md-12">
    <h2>Ürün Düzenle</h2>
    <div align="right">
        <a href="{{route('urunler')}}">
            <button class="btn btn-success">Geri</button>
        </a>
        <br> <br>
    </div>
    <form action="{{route('arabaduzenlepost',['id'=>$products ?? 'id'])}}"   method="POST">
        @csrf
        <select name="category_id">
            <option selected="" value="default">Lütfen Kategori Seçiniz</option>
            <option value="1">Sedan</option>
            <option value="2">Hatchback</option>
            <option value="3">Station Wagon</option>
        </select>
        </select>
        <input name="adi" type="text" value="{{ $products ?? 'name' }}" >
        <input name="renk" id="renk" type="text" value="{{ $products ?? 'color' }}">
        <input name="km" type="text" value="{{ $products ?? 'km' }}">
        <input name="fiyat" id="fiyat" type="text" value="{{ $products ?? 'price' }}">
        <button type="submit" class="btn btn--lg btn--alt-color" style="float:right;">DÜZENLE
        </button>
    </form>
</div>
</div>

Это мой контроллер. Я хочу обновить продукт, когда вы нажмете кнопку обновления. И я хочу, чтобы поля были полными.

public  function arabaduzenlepost(Request $request){
    $id = $request->id;
    $product = Product::find($id);
    $product->name = $request->input('adi');
    $product->color = $request->input('renk');
    $product->km = $request->input('km');
    $product->price = $request->input('fiyat');
    $product->save();

    return redirect()->action('ArabaController@urunler');   }

это моя база данных

 Schema::create('products', function (Blueprint $table) {
        $table->bigIncrements('id');
        $table->string('name');
        $table->string('color');
        $table->string('km');
        $table->string('price');
        $table->unsignedBigInteger('category_id');
        $table->foreign('category_id')->references('id')->on('categories');
        $table->timestamps();

Ответы [ 2 ]

1 голос
/ 06 января 2020
 <form action="{{route('arabaduzenlepost',['id'=>$products ?? 'id'])}}"   method="POST">
@csrf

Просто измените это на

<form action="{{route('arabaduzenlepost',$products->id)}}"method="post">
{{method_field('PUT')}}
{{csrf_field()}}
0 голосов
/ 06 января 2020

обновить файл блейда

@extends('base')
@section('form')

<div class="col-md-12">
    <h2>Ürün Düzenle</h2>
    <div align="right">
        <a href="{{route('urunler')}}">
            <button class="btn btn-success">Geri</button>
        </a>
        <br> <br>
    </div>
    <form action="{{route('arabaduzenlepost',$products->id)}}"   method="POST">
        @csrf
        <select name="category_id">
            <option selected="" value="default">Lütfen Kategori Seçiniz</option>
            <option value="1">Sedan</option>
            <option value="2">Hatchback</option>
            <option value="3">Station Wagon</option>
        </select>
        </select>
        <input name="adi" type="text" value="{{ $products->name }}" >
        <input name="renk" id="renk" type="text" value="{{ $products->color }}">
        <input name="km" type="text" value="{{ $products->km }}">
        <input name="fiyat" id="fiyat" type="text" value="{{ $products->price }}">
        <button type="submit" class="btn btn--lg btn--alt-color" style="float:right;">DÜZENLE
        </button>
    </form>
</div>
</div>

в php ?? означает null-coalesce

ref link https://www.php.net/manual/en/migration70.new-features.php#migration70 .new-features.null-coalesce- оп

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