首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Laravel-审计并非没有任何错误。

Laravel-审计并非没有任何错误。
EN

Stack Overflow用户
提问于 2021-10-13 03:54:20
回答 2查看 904关注 0票数 2

我最近安装了软件包,并配置了指南,但有些是如何不工作的!它不起作用,我的意思是它没有向数据库添加任何东西。我真的不知道我的吐露有什么问题,但我已经用向导检查了所有的东西3次,一切都是正确的,但是.我不知道

config/audit.php:

代码语言:javascript
复制
<?php

return [

    'enabled' => env('AUDITING_ENABLED', true),

    'implementation' => OwenIt\Auditing\Models\Audit::class,

    'user' => [
        'morph_prefix' => 'user',
        'guards'       => [
            'web',
            'api',
        ],
    ],

    'resolver' => [
        'user'       => OwenIt\Auditing\Resolvers\UserResolver::class,
        'ip_address' => OwenIt\Auditing\Resolvers\IpAddressResolver::class,
        'user_agent' => OwenIt\Auditing\Resolvers\UserAgentResolver::class,
        'url'        => OwenIt\Auditing\Resolvers\UrlResolver::class,
    ],

    'events' => [
        'created',
        'updated',
        'deleted',
        'restored',
        'gold_mailed' => 'goldMailed',
        'invited' => 'clientInvited',
    ],

    'strict' => false,

    'timestamps' => false,

    'threshold' => 0,

    'driver' => 'session',

    'drivers' => [
        'eloquent' => [
            'table'      => 'audits',
            'connection' => null,
        ],
    ],

    'console' => true,
];

我想审计的模型:

代码语言:javascript
复制
<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;
use OwenIt\Auditing\Contracts\Auditable;

use App\Models\Expansion;
use App\Models\Audit;

class Setting extends Model implements Auditable
{
    protected $table = 'settings';

    use \OwenIt\Auditing\Auditable;


    protected $fillable = [
      'expansion_id', 'season', 'advertiser_app', 'pvp_app', 'raid_app', 'version'
    ];

    protected $auditInclude = [
       'expansion_id', 'season', 'advertiser_app', 'pvp_app', 'raid_app', 'version'
   ];

    public function Expansion()
    {
      return $this->hasOne(Expansion::class, 'id', 'expansion_id');
    }
}

web.php:

代码语言:javascript
复制
Route::post('/setting' , 'Admin\SuperAdminController@saveSetting')->middleware('superadmin')->name('admin_save_setting');

主计长:

代码语言:javascript
复制
public function saveSetting(Request $request)
  {
    $sql = Setting::where('id', 1)->update([
      'expansion_id' => $request['expansion_id'],
      'season' => $request['season'],
      'advertiser_app' => $request['advertiser_app'],
      'pvp_app' => $request['pvp_app'],
      'raid_app' => $request['raid_app'],
      'version' => $request['version']
    ]);
    if ($sql) {
      toastr()->success('Settings successfully updated.');
      return redirect()->back();
    }
    toastr()->error('Something went wrong!');
    return redirect()->back();
  }

我不知道你需要什么信息,但我想这就足够了

我想我的问题是配置文件中的“驱动程序”,我不知道这是否正确

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-10-13 04:13:59

更新

基于您展示的控制器代码,它不起作用,因为您的代码是使用Builder样式调用的,而且只有在使用Eloquent样式调用它时包才能工作。

文档链接

因此,也许您需要将代码更改为:

代码语言:javascript
复制
$setting = Setting::where('id', 1)->firstOrFail();
$setting->update([
  'expansion_id' => $request['expansion_id'],
  'season' => $request['season'],
  'advertiser_app' => $request['advertiser_app'],
  'pvp_app' => $request['pvp_app'],
  'raid_app' => $request['raid_app'],
  'version' => $request['version']
]);
票数 2
EN

Stack Overflow用户

发布于 2021-10-13 12:36:34

现在我又遇到了另一个问题--

这是我的控制器:

代码语言:javascript
复制
$sql = Raid::findOrFail($request['id']);
$sql = $sql->update($request->all());

我的表中有一个数组,更新后的值如下所示:

代码语言:javascript
复制
"{\"Plate\":0,\"Cloth\":0,\"Mail\":0,\"Leather\":0}"

但应该是:

代码语言:javascript
复制
{"Plate":"0","Cloth":"0","Mail":"0","Leather":"0"}

因此,在此之前,我会得到一个错误,我是这样更新的,它是好的:

代码语言:javascript
复制
$sql = Raid::where('id', $request['id'])->update($request->all());

这就是我的模式(交易员和class_traders是我有问题的字段):

代码语言:javascript
复制
    use SoftDeletes;

    use \OwenIt\Auditing\Auditable;

    protected $table = 'raid';

    protected $dates = ['date_and_time','deleted_at'];

    protected $fillable = [
      'admin_id', '....
    ];

    protected $casts = [
        'bosses' => 'array',
        'traders' => 'array',
        'class_traders' => 'array',
        'boosters' => 'array',
    ];
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69549560

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档