【问题标题】:laravel vuex not reterned data from databaselaravel vuex 没有从数据库中重新提取数据
【发布时间】:2018-07-14 08:26:58
【问题描述】:

我在新编码中我克隆了这个https://github.com/cretueusebiu/laravel-vue-spa laravel 模板以创建一个新项目我创建了另一个表来存储文章,这是我的控制器。这不会从数据库中返回任何数据,请帮助我。

class ArticleController extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index()
    {
        return Article::orderBy('id', 'DESC')->get();
    }

【问题讨论】:

  • 我不确定这与vuex 有什么关系,你的意思是这个方法没有从你的(假设的)MySQL 数据库返回任何结果?
  • 这个 laravel 模板是用 Vue + VueRouter + Vuex + VueI18n 创建的。我在未显示的正确数据中设置路线
  • 您似乎不了解客户端和服务器之间的分离。您发布的内容来自运行服务器端的 Laravel 控制器,因此将查询您服务器上的数据库。另一方面,Vuex 是客户端,这意味着它是基于浏览器的。 Vuex 不通过 Laravel 查询数据。您需要从客户端发送请求以获取数据,然后将响应数据存储在 vuex 中。
  • 我了解 laravel 和 vuex 我的问题是使用控制器从数据库中查询。见上面的 ArticleController 我的路线是 Route::resource('/article', 'ArticleController');我正在尝试这个 url 127.0.0.1:8000/article 但不返回任何数据。如果这个问题来自 vuex 或我的代码。
  • 这与vuex无关。如果您到/article 的路由没有返回数据,那么您的请求可能失败,或者您的查询没有匹配的结果。 Article::orderBy('id', 'DESC')->get() 不返回任何内容的唯一方法是您的 articles 表为空。

标签: mysql database laravel vue.js


【解决方案1】:

你的问题是你的路线定义:

Route::resource('/article', 'ArticleController');

必须是:

Route::resource('article', 'ArticleController');

没有前导斜线。

当您使用Route::resource 时,您实际上是在为GETPOSTPUTPATCHDELETE 定义路由。它与您的模型Article直接相关。

更新

把 web.php 改成这样:

Route::resource('article', 'ArticleController');

// this is always the last route in the file
Route::get('{path}', function () {
    return view('index');
})->where('path', '(.*)');

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2021-08-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-02-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多