如何从 Laravel 中的 public 文件夹中调用模型?
How to call model from public folder in Laravel?
我正在尝试通过 Laravel 中的 public 文件夹调用向模型添加项目,但出现此错误:
Fatal error: Uncaught Error: Call to a member function connection() on null in [..]/Illuminate/Database/Eloquent/Model.php
这是我的 public 文件夹中的文件:
<?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();
在此之前我需要以某种方式启动应用程序吗?我也试过从 public 文件夹调用控制器内部的方法,但它给了我同样的错误。例如:
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 = [];
}
现在,您的脚本还不知道它的环境。它不知道有数据库甚至框架,你必须实际启动应用程序才能使这些信息可用。
您可以使用
$app = require __DIR__ . '../../../bootstrap/app.php';
如果这不起作用,您至少需要启动 ConsoleKernel。检查 app/Console/Kernel.php
及其超类 ConsoleKernel
以获取如何执行此操作的示例。
我正在尝试通过 Laravel 中的 public 文件夹调用向模型添加项目,但出现此错误:
Fatal error: Uncaught Error: Call to a member function connection() on null in [..]/Illuminate/Database/Eloquent/Model.php
这是我的 public 文件夹中的文件:
<?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();
在此之前我需要以某种方式启动应用程序吗?我也试过从 public 文件夹调用控制器内部的方法,但它给了我同样的错误。例如:
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 = [];
}
现在,您的脚本还不知道它的环境。它不知道有数据库甚至框架,你必须实际启动应用程序才能使这些信息可用。
您可以使用
$app = require __DIR__ . '../../../bootstrap/app.php';
如果这不起作用,您至少需要启动 ConsoleKernel。检查 app/Console/Kernel.php
及其超类 ConsoleKernel
以获取如何执行此操作的示例。