使用laravel模型获取数据时,无法从表中获取结果

时间:2019-11-21 14:32:38

标签: php laravel laravel-5 eloquent vuejs2

我正在尝试使用laravel执行简单的CRUD操作。但是当我尝试通过laravel框架以及普通的PHP从表中获取数据时,却给出了错误代码500。

这是我的控制器类。

    <?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\BookModel;
use \DB;

class AdminController extends Controller
{
    function getItems()
    {
        $data = DB::select('select * from book');
        $data = BookModel::all();
        echo($data);
        return compact('data');
    }
}

公理,已被使用。 --->“ https://unpkg.com/axios/dist/axios.min.js

模型类:

    <?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class BookModel extends Model {
    protected $table = "book";
    public $timestamps = false;
}

该表未返回任何结果。

2 个答案:

答案 0 :(得分:0)

在我将控制器更改为

后,它可以正常工作
<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\BookModel;
use \DB;

class AdminController extends Controller
{
    function getItems()
    {
        $data = BookModel::all();
        return $data;
    }
}

但是当我做下面的事情

时,结果却为空。
<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\BookModel;
use \DB;

class AdminController extends Controller
{
    function getItems()
    {
        $data = BookModel::all();
        return view('admin')->withTasks($data);
    }
}

有人可以解释为什么它不能更早地工作吗?

无论如何,谢谢大家的帮助。

Cheeeeeeeeerrsrsssss !!!!!!!

答案 1 :(得分:0)

您需要添加response()才能返回没有视图的数据。 像下面的代码一样,有时会通过BookModel之类的ajax请求从您的axios返回JSON数据。

class AdminController extends Controller
{
    function getItems()
    {
        $data = BookModel::all();
        return response()->toJson($data);
    }
}

使用视图,您可以执行以下操作:

class AdminController extends Controller
{
    function getItems()
    {
        $data = BookModel::all();
        return view('admin', compact('data'));
    }
}

在何处可以通过BookModel中的$data变量访问admin.blade.php数据