Php Laravel在JSON响应上隐藏外键字段,但访问创建新条目
我想在JSON响应上隐藏我的外键:Php Laravel在JSON响应上隐藏外键字段,但访问创建新条目,php,laravel,laravel-5,Php,Laravel,Laravel 5,我想在JSON响应上隐藏我的外键: return Response::json(['type' => 'success', 'data' => $my_object, 'status' => 200], 200); 我在模型中添加了: protected $hidden = ['fk_category_id']; 我的外键是隐藏的 但在我的控制器中,我有: $new_question = $this->question_repository->create([
return Response::json(['type' => 'success', 'data' => $my_object, 'status' => 200], 200);
我在模型中添加了:
protected $hidden = ['fk_category_id'];
我的外键是隐藏的
但在我的控制器中,我有:
$new_question = $this->question_repository->create([
'text' => $question->text,
'fk_category_id' => 2,
]);
问题:我没有在数据库中创建新对象,字段fk_category_id为NULL,我想我没有访问该字段的权限
我的JSON响应中的外键是隐藏的(很好!),但在创建新条目时,我无法在数据库中设置外键。我在上一个(删除的)问题中看到了您的实体。添加一个setter函数,然后就可以调用它了!您的受保护和私人财产将保持隐藏状态
class MyEntity
{
private $hidden;
public function getHidden()
{
return $this->hidden;
}
public function setHidden($value)
{
$this->hidden = value;
}
// the rest of your code etc
}
将此添加到您的模型中
protected $fillable = [..,'fk_category_id','text'];
您正在尝试进行批量分配,fillable是一个白名单,该字段将由批量分配填充。。意味着你可以在那里添加你想要的任何字段