実行したいこと
Laravelを使用しMySQLへデータをPOSTしたい。
起こったエラー
Advanced REST clientでPOSTメソッドを試したところ、
Illuminate\Database\QueryException: SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'tukaimiti' cannot be null
というようなエラーが発生してしまった。
###該当のソースコード
データ構造(create_maneys_table)
<?php use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; class CreatemoneysTable extends Migration { /** * Run the migrations. * * @return void */ public function up() { Schema::create('moneys', function (Blueprint $table) { $table->id(); $table->timestamps(); $table->string('tukaimiti')->nullable(); $table->string('money'); $table->string('memo'); }); } /** * Reverse the migrations. * * @return void */ public function down() { Schema::dropIfExists('moneys'); } protected $table = 'moneys'; }
コントローラー
<?php namespace App\Http\Controllers; use App\moneys; use Illuminate\Http\Request; use Illuminate\Support\Facades\DB; use Carbon\Carbon; class ApiController extends Controller { public function post(Request $request) { $now = Carbon::now(); $param = [ "created_at" => $now, "updated_at" => $now, "tukaimiti" => $request->tukaimiti, "money" => $request->money, "memo" => $request->memo, ]; DB::insert('insert into moneys (created_at,updated_at,tukaimiti,money,memo) values (:created_at,:updated_at,:tukaimiti,:money,:memo)', $param); return response()->json(); } public function show() { $item = moneys::all(); return response()->json($item); } }
###試したこと
本エラーの対処法として調べたら出てきた、
"tukaimiti"に->nullable();を付け足したが同じエラーが発生してしまった。
###補足
データをPOSTする際もJSONの記述、
{"tukaimiti":"服","money":"1000,"memo":"ああああ"}
同じコントローラーのGETメソッドは実行できたのでルーティングやDB接続に関しては問題ないかと思います。
不足している部分があれば一言くれると幸いです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。