2017-04-18 78 views
1

我用於記錄用戶活動安裝spatie/activitylog更改活動日誌表名

在這個包默認的表名是activity_log我想改變表名​​

我創建了一個模型,並命名爲Activity但不工作:

<?php 

namespace App; 

use Illuminate\Database\Eloquent\Model; 
use Spatie\Activitylog\Models; 

class Activity extends Model 
{ 
    // 
    protected $table = "user_activity_log"; 
} 

我該怎麼辦?在模型中(其他城市$table您的表名)php artisan make:model Activity

2-把這個代碼:

<?php 

namespace App; 

use Illuminate\Database\Eloquent\Model; 

class Activity extends \Spatie\Activitylog\Models\Activity 
{ 
    // 
    protected $table = "user_activity_log"; 
} 

3-

+1

胡亂猜測說,你至少需要首先擴展[包活動模型](https://github.com/spatie/laravel-activitylog/blob/master/src/Models/Activity.php)。查看文檔,您還需要更新軟件包配置文件以告訴它使用您的模型。參考文檔中的這一行:''activity_model'=> \ Spatie \ Activitylog \ Models \ Activity :: class'。 – devk

+0

@devk謝謝,是的,我試圖擴展創建的模型,但不工作,我是Laravel的新手,也許我做錯了方式 – MajAfy

回答

4

我找到了解決辦法,

1 - 創建一個模型發佈配置文件:

php artisan vendor:publish --provider="Spatie\Activitylog\ActivitylogServiceProvider" --tag="config" 

4-變化activity_modellaravel-activitylog.php

'activity_model' => \App\Activity::class 

別忘了遷移文件,以更改表名

由於@devk