试图获取非对象的属性“ serino”

时间:2019-01-28 13:06:48

标签: php laravel

我不想使用“ id”来编辑产品,我想使用“序列号”列。但是我收到以下错误:

  

试图获取非对象的属性“ serino”

Product.php

public function edit($serino)
    {
        $product= DB::select('select * from products where serino=?',[$serino]);
        return view("products/edit",compact("product"));
    }

index.blade.php

<a href="{{route('products.edit',$product->serino)}}">
<button class="btn btn-info btn-sm"><i class="fas fa-edit"></i> Edit</button>
</a>

edit.blade.php

<form class="form-horizontal" action="{{route('products.update',$product->serino)}}" method="post">
    {!! csrf_field() !!}
    {!! method_field('put') !!}
    <div class="form-group">
        <div class="col-sm-12">
            <input type="text" class="form-control" value="{{$product->name}}" name="name" placeholder="Product Name">
        </div>
    </div>
    <div class="form-group">
        <div class="col-sm-12"> 
            <input type="text" class="form-control" value="{{$product->category}}" name="category" placeholder="Product Category">
        </div>
    </div>

    <div class="form-group"> 
        <div class="col-sm-offset-2 col-sm-12">
            <button type="submit" class="btn btn-success">Save</button>
        </div>
    </div>
</form>

做得好..

1 个答案:

答案 0 :(得分:1)

您的查询将返回结果集合/结果数组,而不仅仅是一个产品。 您可以这样使用:

$product = DB::table('products')->where('serino', $serino)->first();