2016-12-29 50 views
1

我有一個奇怪的問題,我上傳我的應用程序到我的服務器進行實時測試。我能夠保存數據,但是當我嘗試使用Eloquent獲取所有行時,沒有任何返回。但是在我的本地主機上,它工作得很好。Eloquent不返回數據

我曾嘗試:

$xtras = Extra::with('category')->paginate(10); 

$xtras = Extra::with('category')->get(); 

$xtras = Extra::all(); 

但沒有上述工作,當我回到$xtras它一直是一個空數組。

於是我決定試一試:

$xtras = DB::table('extras')->get(); 

這似乎工作得很好,它返回的數據。我檢查了我的模型,沒有看到任何東西丟失,因爲像我說的那樣,它在我的localhost上工作,而不是在我的服務器上。

這是我額外的類:

<?php 

namespace App\Models; 

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

class Extra extends Model 
{ 
    use SoftDeletes; 

    protected $dates = ['deleted_at']; 
    protected $appends = ['checked']; 


    public function category() { 
     return $this->belongsTo('App\Models\ExtraCategory'); 
    } 

    public function getCheckedAttribute() { 
     return false; 
    } 
} 
+0

請向我們展示'Extra'類定義。 – bishop

+0

您是否檢查過日誌文件? –

+0

@bishop我編輯了我的帖子。 – user3718908

回答

3

當使用SoftDeletes,在deleted_at列比NULL以外的任何值會告訴Laravel是該記錄「被刪除」,這樣就不會正常顯示雄辯的查詢,除非你使用withTrashed()範圍。

看看你如何保存/插入數據,並確保deleted_at列設置爲NULL記錄不應該被刪除。

+0

這幫助了我,我意外地在「deleted_at」列中無意中發現了一個值,而沒有注意到它。 –