webman-framework 2.0 数据库报错

surzace

问题描述

数据库报错

Error: Call to a member function connection() on null in D:\webman\webman\vendor\illuminate\database\Eloquent\Model.php:1851<br />Stack trace:<br />#0 D:\webman\webman\vendor\illuminate\database\Eloquent\Model.php(1817): Illuminate\Database\Eloquent\Model::resolveConnection(NULL)<br />#1 D:\webman\webman\vendor\illuminate\database\Eloquent\Model.php(1615): Illuminate\Database\Eloquent\Model->getConnection()<br />#2 D:\webman\webman\vendor\illuminate\database\Eloquent\Model.php(1534): Illuminate\Database\Eloquent\Model->newBaseQueryBuilder()<br />#3 D:\webman\webman\vendor\illuminate\database\Eloquent\Model.php(1570): Illuminate\Database\Eloquent\Model->newModelQuery()<br />#4 D:\webman\webman\vendor\illuminate\database\Eloquent\Model.php(1523): Illuminate\Database\Eloquent\Model->newQueryWithoutScopes()<br />#5 D:\webman\webman\vendor\illuminate\database\Eloquent\Model.php(2368): Illuminate\Database\Eloquent\Model->newQuery()<br />#6 D:\webman\webman\vendor\illuminate\database\Eloquent\Model.php(2380): Illuminate\Database\Eloquent\Model->__call('get', Array)<br />#7 D:\webman\webman\app\controller\IndexController.php(25): Illuminate\Database\Eloquent\Model::__callStatic('get', Array)<br />#8 D:\webman\webman\vendor\workerman\webman-framework\src\App.php(334): app\controller\IndexController->json(Object(support\Request))<br />#9 D:\webman\webman\vendor\workerman\webman-framework\src\App.php(178): Webman\App::{closure:Webman\App::getCallback():332}(Object(support\Request))<br />#10 D:\webman\webman\vendor\workerman\workerman\src\Connection\TcpConnection.php(749): Webman\App->onMessage(Object(Workerman\Connection\TcpConnection), Object(support\Request))<br />#11 D:\webman\webman\vendor\workerman\workerman\src\Events\Select.php(400): Workerman\Connection\TcpConnection->baseRead(Resource id #124)<br />#12 D:\webman\webman\vendor\workerman\workerman\src\Worker.php(1594): Workerman\Events\Select->run()<br />#13 D:\webman\webman\vendor\workerman\workerman\src\Worker.php(1519): Workerman\Worker::forkWorkersForWindows()<br />#14 D:\webman\webman\vendor\workerman\workerman\src\Worker.php(585): Workerman\Worker::forkWorkers()<br />#15 D:\webman\webman\runtime\windows\start_webman.php(33): Workerman\Worker::runAll()<br />#16 {main}

程序代码或配置

/app/model/Shop.php

<?php
namespace app\model;

use support\Model;

class Shop extends Model {}

/app/controller/IndexController.php

<?php
namespace app\controller;

use app\model\Shop;
use support\Response;

class IndexController
{
    function index()
    {
        static $readme;
        if (!$readme) {
            $readme = file_get_contents(base_path('README.md'));
        }
        return $readme;
    }

    function view(): Response
    {
        return view('index/view', ['name' => 'webman']);
    }

    function json(): Response
    {
        return json(['code' => 0, 'msg' => 'ok', 'data' => Shop::get()]);
    }
}

重现问题的步骤

随意测试

操作系统环境及workerman/webman等具体版本

Linux
Windows 11
Webman 1.6.8
"workerman/webman-framework": "^2.0",
"monolog/monolog": "^3.8",
"illuminate/database": "^11.40",
"laravel/serializable-closure": "^2.0"

316 3 0
3个回答

walkor 打赏

composer require webman/database

  • surzace 24天前

    webman/database这个require的illuminate/database不是11 而是10?

  • walkor 24天前

    下个版本支持11

  • surzace 24天前

    装了webman/dababase还是这个错误 Call to a member function connection() on null in D:\webman\webman\vendor\illuminate\database\Eloquent\Model.php:1820

    Webman 1.6.8
    "workerman/webman-framework": "^2.0.0",
    "monolog/monolog": "^3.8.1",
    "webman/database": "^1.0.1"

  • walkor 24天前

    config/bootstrap.php 里加一个

        support\bootstrap\LaravelDb::class,

    试下

  • surzace 24天前

    已经有了 还是这个错误

    return [
    support\bootstrap\Session::class,
    support\bootstrap\LaravelDb::class,
    ];

  • walkor 24天前

    那你用回 workerman/webman-framework 1.6吧

随心所欲

2.0还没正式投入使用呢,webman默认是1系列。

ala3246875

laravel 最新版,确实支持了get, 记得之前是不支持的。 在没有查询条件的情况下。

  • 暂无评论
×
🔝