Почему метод orderBy в моем PHP-коде не работает? - PullRequest
0 голосов
/ 26 сентября 2018

Я написал этот код PHP в Laravel 5, и orderBy не будет работать.

Route::get('/products',function (){$products= DB::table('products')->get();
return view('products.index',compact('products'));});

Route::get('/products/{id}',function ($id){$product= DB::table('products')->find($id);
        return view('products.show',compact('product'));});

, а код index.blade.php -

 <div><a href={{"/products/".$product->id}}>{{$product->name}}</a></div>

и show.blade.phpкод:

 <h1>{{$product->name}}</h1>
 <p> {{$product->description}}</p>

1 Ответ

0 голосов
/ 26 сентября 2018

Когда вы используете find(), возвращается только 1 реестр.Таким образом, порядок по не имеет никакого эффекта.

Если $id присутствует в более чем 1 строке, то вы должны использовать where и get()

$product= DB::table('products')->where('id','=',$id)->orderBy('name','desc')->get();

Итак, еслиВы добавляете заказ, он должен работать:

Route::get('/products',function (){
    $products= DB::table('products')->orderBy('name','desc')->get();
    return view('products.index',compact('products'));
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...