я хочу обновить конфиденциальность сообщения
мой контроллер
public function changePostsPrivacy(Request $request){
$userId = $request->user()->id;
$postid = $request->get('id');
//dd($postid);
$privacy = $request->get('privacy');//dd($privacy);
$user = User::where(['id' => $userId, 'hide' => 0])->first();
if($user && $postid && in_array($privacy, [1,0])){
DB::table('posts')->update(['creator_id' => $userId, 'id' => $postid],[
'privacy' => $privacy,
]);
}
}
Маршрут:
Route::group(['middleware'=>['auth:api', \App\Http\Middleware\OnlyRegisteredUsers::class]], function(){
/**
* Group for registered users only APIs
*/
Route::post('changePostsPrivacy','UserController@changePostsPrivacy');
});
Миграция
public function up()
{
Schema::create('posts', function (Blueprint $table) {
$table->increments('id');
$table->string('title');
$table->longText('content');
$table->string('short_description');
$table->unsignedInteger('media_id')->nullable();
$table->foreign('media_id')->references('id')->on('medias');
$table->unsignedInteger('creator_id');
$table->foreign('creator_id')->references('id')->on('users');
$table->boolean('hide')->default(0);
$table->timestamps();
});
}
добавлен новый столбец в этой миграции
public function up()
{
Schema::table('posts', function (Blueprint $table) {
$table->integer('privacy')->after('creator_id');
});
}
, когда я хочу добавить конфиденциальность в любойопубликовать сообщение об ошибке
"message": "SQLSTATE [23000]: нарушение ограничения целостности: 1451 Невозможно удалить или обновить родительскую строку: сбой ограничения внешнего ключа (webdb
. comments
, CONSTRAINTcomments_post_id_foreign
ИНОСТРАННЫЙ КЛЮЧ (post_id
) ССЫЛКИ posts
(id
)) (SQL: обновление posts
набор creator_id
= 17, id
= 48) ",