に属性の名前を変更するには名前は一致しません。は、どのように私は名前のモデルを持っていますLaravel
質問は、私はあなたがposts
テーブルにフォームでextra_pay
とextra_income
を持って理解として、私はextra_pay
に属性の名前を変更するには名前は一致しません。は、どのように私は名前のモデルを持っていますLaravel
質問は、私はあなたがposts
テーブルにフォームでextra_pay
とextra_income
を持って理解として、私はextra_pay
にマッピングできるようPostモデルにextra_income
属性を変更するにはどのような方法があります。これを処理する最善の方法は、フォーム内の要素の名前をextra_income
に変更することです。
それとも、あなたはこれを行うことができます:
$data = request()->all();
$data['extra_income'] = $data['extra_pay'];
Post::create($data);
かを:あなたはmutatorを探している
Post::create(request()->all() + ['extra_income' => request('extra_pay')]);
時間のおかげで、私はすでにその解決策を知っている!問題は、私はフロントから異なる名前にマップされた複数の属性を持っていますか?私は私の質問を単純化しただけです。だから私はそれを行う良い方法があると思った –
。 create
を使用する予定であるため、$fillable
のプロパティに追加することを忘れないでください。
class Post
{
protected $fillable = [
// ...
'extra_pay',
];
public function setExtraPayAttribute($value)
{
$this->attribute['extra_income'] = $value;
}
}
@ Chay22 thx男 –
あなたは3ヶ所
$request->merge(['extra_income' => $request->extra_pay]);
どのバージョンで遊んでいますか? – Chay22
Laravel 5.6.0。 @ Chay22 –
Laravel 5.6をリリースしたとき!!! –