Laravel在JSON响应中隐藏foreign_key字段,但访问创建新条目

时间:2017-09-20 13:49:51

标签: php laravel laravel-5

我想在JSON响应中隐藏我的foreign_key:

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响应中的外键是隐藏的(太棒了!)但是当我创建新条目时,我无法在我的数据库中设置我的外键。

2 个答案:

答案 0 :(得分:1)

将此添加到您的模型

protected $fillable = [..,'fk_category_id','text'];

您正在尝试进行批量分配,可填写是白名单,该字段可通过批量分配进行填写。 ..意味着你可以添加你想要的任何字段。

答案 1 :(得分:0)

我在上一个(已删除)问题中看到了您的实体。添加一个setter函数,然后你可以调用它!您的受保护和私人财产将保持隐藏状态!

{{1}}