雄辩不返回数据

时间:2016-12-29 21:14:43

标签: laravel eloquent laravel-5.2

我遇到了一个奇怪的问题,我将我的应用程序上传到服务器进行实时测试。我能够保存数据,但当我尝试使用Eloquent获取所有行时,没有返回任何内容。但是在我的localhost上工作得很好。

我试过了:

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

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

$xtras = Extra::all();

但是上面没有一个工作,当我返回$xtras时,它总是一个空数组。

然后我决定尝试:

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

这似乎工作正常,它返回数据。我检查了我的模型,似乎没有任何遗漏,因为我说它在我的本地主机上工作,而不是在我的服务器上。

这是我的额外课程:

<?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;
    }
}

1 个答案:

答案 0 :(得分:3)

使用SoftDeletes时,除deleted_at以外的NULL列中的任何值都会告诉Laravel该记录已被删除&#34;,因此它赢得了&#39; t显示在正常的Eloquent查询中,除非您使用withTrashed()范围。

了解您如何保存/插入数据,并确保将deleted_at列设置为NULL,以查找不应删除的记录。