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
的字段。
我有用户模型和品牌模型。两者的关系如下
品牌型号
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
的字段。