【问题标题】:Getting no result from table , while fetching data using laravel model使用 laravel 模型获取数据时没有从表中获取结果
【发布时间】:2020-03-17 12:41:48
【问题描述】:

我正在尝试使用 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');
    }
}

axiom ,已被使用。 ---> "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;
}

它没有从表中返回任何结果。

【问题讨论】:

  • 检查网络服务器日志是否有错误。
  • 网络服务器日志中没有打印任何内容
  • 这能回答你的问题吗? Reference - What does this error mean in PHP? 向下滚动到“HTTP 错误 500 - 内部服务器错误”
  • @digijay 没有,没有帮助
  • Laravel 有自己的 500 错误日志。 storage/logs/laravel.log。您应该能够在那里看到错误。话虽如此,您使用的是mysqli,这与使用 Laravel 的观点背道而驰……当您拥有可用的模型和查询构建器时,您不应该使用原生 PHP 逻辑。

标签: php laravel laravel-5 eloquent vuejs2


【解决方案1】:

我将控制器更改为

<?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);
    }
}

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

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

Cheeeeeeeeerrssssss!!!!!!!

【讨论】:

    【解决方案2】:

    您需要添加response() 才能返回没有查看的数据。 如下所示,代码从您的 BookModel 返回 JSON 数据,有时我们需要通过像 axios 这样的 ajax 请求。

    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'));
        }
    }
    

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

    【讨论】:

      猜你喜欢
      • 2016-11-16
      • 1970-01-01
      • 1970-01-01
      • 2018-08-17
      • 1970-01-01
      • 2018-07-23
      • 1970-01-01
      • 2021-06-19
      • 1970-01-01
      相关资源
      最近更新 更多