php - Laravel - Axois 请求上不存在方法 [orderBy]

标签 php laravel laravel-5 vue.js eloquent

我正在尝试从数据库中获取一些记录,但收到方法 [orderBy] 不存在我正在使用 Axois 发出此请求。

路线

Route::get('/get-order-statuses', 'Backend\Orders\OrderStatuses@index');

Controller 代码

public function index()
    {
        $statuses = OrderStatuses::orderBy('created_at', 'desc')
            ->get(['id', 'status', 'status_description']);

        return response()
            ->json([
                'statuses' => $statuses
            ]);
    }

型号代码

protected $table = 'order_statuses';
    protected $fillable = [
        'statues', 'status_description', 'userId',
    ];

Vue 模板

import { get } from '../../helpers/api'
        export default {
            data() {
                return {
                    isLoading: true,
                    loaded: false,
                    statuses: []
                }
            },
            created() {
                get('get-order-statuses')
                    .then((res) => {
                        console.log(res);
                        this.isLoading = false;
                        this.loaded = true;
                    })
            }

最佳答案

orderByQueryBuilder的一个方法,因此在使用它之前,您应该获取QueryBuilder的实例。

此外,get 也不将字段作为参数。

考虑到上述,您的查询可以重写为:

$statuses = OrderStatuses::select('id', 'status', 'status_description')
    ->orderBy('created_at', 'desc')
    ->get();

或者:

$statuses = DB::table('order_statuses')
    ->select('id', 'status', 'status_description')
    ->orderBy('created_at', 'desc')
    ->get();

还有

$statuses = OrderStatuses::all()
    ->select('id', 'status', 'status_description')
    ->orderBy('created_at', 'desc')
    ->get();

关于php - Laravel - Axois 请求上不存在方法 [orderBy],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49345498/

相关文章:

php - 扩展 Laravel 5 核心功能

php - 获取最后 x 条记录的最佳方法是什么?使用 MySQL 限制和 ORDER DESC?

database - 如何在 Laravel 数据库查询中使用派生列

php - 范围方法的 where 子句中的 Laravel 数据透视表计数

php - 无法将 laravel 7 升级到 laravel 8

php - laravel - 从 http 请求中获取参数

php - 为 PostgreSQL 中的 WHERE IN 子句绑定(bind)多行和多列

php - 根据 URL 示例 (www.example.co.uk/essex.php) 从 MySQL 数据库中选择数据

php - 在 laravel 中测试调度器

php - Php Elasticsearch 按地理距离排序