Я хочу передать значение по умолчанию в базу данных, если пользователь оставил поле ввода пустым, если пользователь не выбрал конфиденциальность, т.е.публичный или приватный в базе данных, он должен быть публичным
public function saveMedia(Request $request){
$uid = $request->user()->id;
$fileExtensionValidation = Validator::make($request->all(), [
'file' => 'mimes:jpeg,png,bmp,tiff'
]);
if(!$fileExtensionValidation->fails()){
$file = $request->file('file')->store('');
$filename = str_replace('public/','',$file);
$id = DB::table('medias')->insertGetId([
'name'=>$filename,
'hash'=>hash('sha256', \Storage::get($file)),
'uploader_id'=>$uid,
'hide'=> 0,
'created_at' => Carbon::now()
]);
$url = \Storage::temporaryUrl($filename, now()->addDays(2));
return ['id'=>$id, 'url'=>$url];
} else{
return abort(501, 'File format not supported');
}
}
Route api.php
Route::group(['middleware'=>['auth:api', \App\Http\Middleware\OnlyRegisteredUsers::class]], function(){
/**
* Group for registered users only APIs
*/
Route::post('savePost','UserController@savePost');
});
файл миграции
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');
});
}
, если я передаю значение в поле конфиденциальности, происходит в БДно если я оставлю это поле пустым, это выдаст мне ошибку.
SQLSTATE [23000]: нарушение ограничения целостности: 1048 «Конфиденциальность» столбца не может быть нулевой (SQL: вставить в posts
(title
), content
, short_description
, media_id
, creator_id
, privacy
, created_at
, updated_at
) значения (Swift Reads, приложение для социальных сетей, вы можете загружать сообщения СМИ, можете комментировать сообщения, можетеupvote downvote posts, 1, 25,, 2018-10-15 06:00:59, 2018-10-15 06:00:59)) ",