-1
私は、ユーザーのリソースを非アクティブ化する1つのアクションを持っています。このアクションはビット値を使用してリソースを有効/無効にしますが、予想通りビット値を設定できなかったことに驚きました。値は常にリソースが作成されるときのデフォルト値である "1"に設定されます。LaravelのEloquentでmysqlビットのデータ型を設定するには? (Laravel 5.4)
私は問題が私のモデルであり、私はデータベースの最初のアプローチを使用していますし、問題は、私が作成したモデルである可能性があるとは思わないにもかかわらずpublic function deactivate(Request $request)
{
$resourceId= $request->get('resourceId');
$resource= \App\Resource::find($resourceId);
//I've tried the two statements below separetely
$resource->active= false; //didn't work
$resource->active= 0; //didn't work
//I performed the test below with another column and it worked
//so the problem isn't my model.
$resource->anotherProperty = 10;
$resource->save();
}
。研究後
CREATE TABLE `resource` (
`resource_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`announcer_id` int(10) unsigned NOT NULL,
`announcer_type` tinyint(3) unsigned NOT NULL,
`data` date DEFAULT NULL,
`active` bit(1) DEFAULT b'1',
PRIMARY KEY (`resource_id`)
) ENGINE=InnoDB AUTO_INCREMENT=583 DEFAULT CHARSET=latin1;
ショーテーブルスキーマに
今、私のテーブルに変更しました –