2016-03-16 62 views
0

我檢查了數據庫中的修訂表,它們是我試圖顯示歷史記錄的修訂記錄。revisionHistory顯示某些型號,但不是其他人

$ record-> revisionHistory雖然返回一個空數組。

其他模型的相同代碼工作正常,它真的很奇怪。

這個模型代碼的工作:

namespace App\Models\Slack; 

use Illuminate\Database\Eloquent\Model; 
use Illuminate\Database\Eloquent\SoftDeletes as SoftDeletes; 

class Channel extends Model 
{ 
    use SoftDeletes; 
    use \Venturecraft\Revisionable\RevisionableTrait; 

    protected $revisionEnabled = true; 
    protected $revisionCleanup = true; 
    protected $historyLimit = 10; 
    protected $revisionCreationsEnabled = true; 

這對上述模型控制器代碼工作:

$channel = Channel::find($id); 
return $channel->revisionHistory; 

這種模式的代碼無法正常工作(但也有記錄在數據庫中):

namespace App\Models\Organization; 

use Illuminate\Database\Eloquent\Model; 
use Illuminate\Database\Eloquent\SoftDeletes as SoftDeletes; 

class Organization extends Model 
{ 
    use SoftDeletes; 
    use \Venturecraft\Revisionable\RevisionableTrait; 

    protected $revisionEnabled = true; 
    protected $revisionCleanup = true; 
    protected $historyLimit = 10; 
    protected $revisionCreationsEnabled = true; 

上述模型的這個控制器代碼顯示一個空數組([]):

$organization = Organization::find($id); 
return $organization->revisionHistory; 
+0

在你的第一個例子中,兩行都使用'$ channel'。在第二行中,第一行使用'$ organization',第二行使用'$ organization_history'。試試'$ organization-> revisionHistory'。 – ceejayoz

+0

感謝您的支持,但是當我舉出這個例子時,這是一個錯誤。當我做出改變時,它仍然不起作用。 – thestepafter

+0

嘗試執行'$ organization-> revisionHistory() - > toSql()'並查看生成了哪些SQL。然後嘗試直接針對SQL運行查詢。 – ceejayoz

回答

0

我在我的AppServiceProvider引導方法中有一個morphMap設置,當可修改調用記錄時它會觸發,所以這就是爲什麼沒有返回結果。我打算關閉這個問題並開啓一個更相關的新問題。

相關問題