如何从Laravel的公共文件夹中调用模型?

时间:2017-01-19 13:44:33

标签: laravel eloquent public

我正在尝试通过Laravel中的公共文件夹调用向模型添加项目但是我收到此错误:

Fatal error: Uncaught Error: Call to a member function connection() on null in [..]/Illuminate/Database/Eloquent/Model.php

以下是我公共文件夹中的文件:

<?php
require __DIR__.'../../../bootstrap/autoload.php';
use Illuminate\Database\Eloquent\Model;
use \App\Models\Cdr;

$id_ex = '11';
$cdr = new Cdr();
$cdr->id_ex = $id_ex;
$cdr->save();

我需要在此之前以某种方式启动应用程序吗?我也试过从公共文件夹调用控制器内的方法,但它给了我同样的错误。例如:

CdrController::storeCdr($id_ex);

我的模特:

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class Cdr extends Model
{

    public $table = 'cdr';
    protected $dates = ['deleted_at'];
    public $fillable = [];
    public $guarded = ['id'];

    /**
     * The attributes that should be casted to native types.
     *
     * @var array
     */
    protected $casts = [];

    /**
     * Validation rules
     *
     * @var array
     */
    public static $rules = [];
}

1 个答案:

答案 0 :(得分:1)

现在,你的脚本还没有得到它的环境线索。它不知道有数据库甚至是框架,你必须实际启动应用程序才能提供这些信息。

您可以使用

执行此操作
$app = require __DIR__ . '../../../bootstrap/app.php;

如果这不起作用,则需要至少启动ConsoleKernel。检查app/Console/Kernel.php及其超类ConsoleKernel,了解如何执行此操作。