从数据库laravel 5.2中显示错误的记录ID

时间:2016-03-19 23:01:16

标签: php mysql laravel-5.2

我的记录:

ID : M110 (varchar)
Name : Book
Price : 3000
Stock : 10

我的观点:

@foreach($barang as $key => $value)
    <tr>
        <td>{{ $value->id }}</td>
        <td>{{ $value->name }}</td>
        <td>{{ $value->price }}</td>
        <td>{{ $value->stock }}</td>
    </tr>
 @endforeach

我的控制器:

public function show($id)
{
    $barang = Barang::find($id);

    return view('barang.show', compact('barang'));
}

我的结果:

ID : 0
Name : Book
Price : 3000
Stock : 10

如何从数据库(varchar)显示相同的id?

2 个答案:

答案 0 :(得分:0)

您可以在模型中尝试以下操作:

protected $casts = [
    'id' => 'integer',
];

即使id存储为integer,也会确保varchar被投放为<body> <h1 id="home_title">test</h1> <div id="container_1"> <div id="picture" class="box"> <div class="circle_outer"> <div class="circle_inner"> <div class="inner-text"> <img src="https://upload.wikimedia.org/wikipedia/commons/thumb/5/58/%22In_Which_We_Serve%22_Advertisement_1943.jpg/1024px-%22In_Which_We_Serve%22_Advertisement_1943.jpg" width=100%; /> </div> </div> </div> </div> <div id="dog" class="box"> <div class="circle_outer"> <div class="circle_inner"> <div class="inner-text"> dog </div> </div> </div> </div> <div id="shoes" class="box"> <div class="circle_outer"> <div class="circle_inner"> <div class="inner-text"> shoes </div> </div> </div> </div> <div id="dance" class="box"> <div class="circle_outer"> <div class="circle_inner"> <div class="inner-text"> dance </div> </div> </div> </div> <div id="footer_1"> Footer<br> test </div> </div> </body>

https://laravel.com/docs/5.2/eloquent-mutators#attribute-casting

答案 1 :(得分:-1)

我猜这个ID没有被返回,因为它用于你的查询,所以你知道它在返回记录之前。 您可以打印出查询中的ID。

Barang :: find功能实际上做了什么?