0
ユーザモデルのフィールドを更新する際に問題が発生しました。自身私が定義するモデルでユーザモデルLaravelでブール値を更新
...
$table->boolean('public_profile')->default(false);
...
:
は私がブール値として定義されpublic_profileを活性化するためのフィールドがあります。
protected $fillable = [..., 'public_profile', ...];
ここで、チェックボックスのステータスに応じてaxiosでフィールドを更新しようとしています。
public function togglePublicProfile($toggleTo){
$user = $this;
$user->public_profile = $toggleTo;
return $user->save();
}
:私は機能を持っているユーザーモデルでは
Auth::user()->togglePublicProfile($public_profile);
:
$public_profile = $request->input('public_profile');
そして関数を呼び出す:
$('#change_public_profile').change(function() {
message={
_token: $('meta[name="csrf-token"]').attr('content'),
public_profile: $('#change_public_profile').is(':checked')
}
axios.post('SOME URL', message).....
は今私のコントローラでは、私は、要求を読んで
私はまた、boolval()をMutator、buそれは決して変わらなかった。 私は文字列の値を変更するために同じことを行い、うまく動作します。
私の間違いはどこですか?
適切な修正が見つからない場合は、BOOLEANではなくTINYINTを使用します。 Basiclly BOOLEANはTNIYINTの同義語です。http://stackoverflow.com/questions/289727/which-mysql-datatype-to-use-for-storing-boolean-values#289759「1」と「0」で完全にうまく機能するようになりました。あなたのコードで 'true/false'のようなブール値ではない – JustOnUnderMillions
@JustOnUnderMillions Laravelの' $ table-> boolean() 'は' tinyint(1) 'に列を作成します。 – aynber
togglePublicProfileにいくつかログインして、 '$ toggleTo'が何であるか、そして' $ user-> public_profile'が割り当ての前後にあるものを見てください。 – aynber