Laravel eloquent 关系 return 没有时间戳

Laravel eloquent relationship return without timestamps

我有用户模型和品牌模型。两者的关系如下

品牌型号

class BrandModel extends Eloquent
{    
    protected $table = 'tbdb_brand';

    public function users() {
        return $this->hasMany(UserModel::class,'brand_id');
    }
}

用户模型

class UserModel extends Eloquent
{
    public function brand() {
        return $this->belongsTo('TopBetta\Models\BrandModel');
    }
}

当我尝试获取用户品牌时,我得到以下输出。

"Brand" => array:6 [
"id" => 1
"created_at" => "2018-06-01 07:07:41"
"updated_at" => "2018-06-01 07:07:41"
"keyword" => "sports_settings"
"name" => "TopBetta"
"description" => ""
]

我需要的是上面没有时间戳的结果。我怎样才能修改上面的源代码呢?

谢谢

您可以通过在要检索时指定列名来实现您的结果。你可以这样写:

UserModel::with(['brand' => function($query) {
    $query->with(['id', 'keyword', 'name', 'description']);
}]);

在Laravel 5.4中,我做了一些更直接的事情:

UserModel::with('brand:id,keyword,name,description');

这将仅包括 : 之后列出的 brand 的字段。