Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/231.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在Laravel 5中扩展和修改供应商模型?_Php_Laravel_Laravel 5 - Fatal编程技术网

Php 如何在Laravel 5中扩展和修改供应商模型?

Php 如何在Laravel 5中扩展和修改供应商模型?,php,laravel,laravel-5,Php,Laravel,Laravel 5,我正在使用Laravel 5应用程序中的一个包,我正在使用数据库存储要阻止的IP地址列表 我已经成功安装了它,并且能够使用它附带的PragmaRX\Firewall\Vendor\Laravel\Models\Firewall模型 我遇到的问题是,我使用的是一个多租户数据库,其中基本上每个租户都有自己的数据库,这些租户的模型使用$connection属性指定租户连接,在幕后我根据请求更改租户连接配置 现在,软件包附带的模型如下所示: <?php namespace PragmaRX\Fir

我正在使用Laravel 5应用程序中的一个包,我正在使用数据库存储要阻止的IP地址列表

我已经成功安装了它,并且能够使用它附带的
PragmaRX\Firewall\Vendor\Laravel\Models\Firewall
模型

我遇到的问题是,我使用的是一个多租户数据库,其中基本上每个租户都有自己的数据库,这些租户的模型使用
$connection
属性指定
租户
连接,在幕后我根据请求更改租户连接配置

现在,软件包附带的模型如下所示:

<?php namespace PragmaRX\Firewall\Vendor\Laravel\Models;
/**
 * Part of the Firewall package.
 *
 * NOTICE OF LICENSE
 *
 * Licensed under the 3-clause BSD License.
 *
 * This source file is subject to the 3-clause BSD License that is
 * bundled with this package in the LICENSE file.  It is also available at
 * the following URL: http://www.opensource.org/licenses/BSD-3-Clause
 *
 * @package    Firewall
 * @author     Antonio Carlos Ribeiro @ PragmaRX
 * @license    BSD License (3-clause)
 * @copyright  (c) 2013, PragmaRX
 * @link       http://pragmarx.com
 */

use Illuminate\Database\Eloquent\Model as Eloquent;

class Firewall extends Eloquent {

    protected $table = 'firewall';

    protected $guarded = array();

}

编辑供应商文件是一个坏主意。如果您出于某种原因必须编辑它们,我建议您对包进行分叉,并在分叉版本中进行编辑,然后更新composer文件以从您自己的分叉中提取包。但我不建议在这种情况下这样做

相反,您应该发布包配置文件并更改它应该使用的模型。
这是通过在终端中使用
artisan供应商:publish
命令来完成的。
应在您的
config
文件夹中创建防火墙软件包的新配置文件。
然后,您只需创建自己的模型并更改配置文件中的
firewall\u model
属性:


谢谢您的帮助。更新了我的问题,以反映我试图做什么以及为什么它不起作用。有什么想法吗?