1
私が手にこのエラーSQLSTATE [23000]:整合性制約違反:追加または子の行を更新できません:外部キー制約が使用して失敗を雄弁
SQLSTATE [23000]:整合性制約違反:1452は追加できませんか アップデート子行:私はしかし、私は
mysql
上を経由して、これを行うとき、私は次取得するには、次のように、TODOを追加するときに、外部キー制約がを失敗しました
mysql> INSERT INTOタスク(タスク、created_at、user_id)VALUES( 'owls はクールです'、CURTIME()、1);クエリOK、1行が影響を受ける(0.03秒)
これはデータベースに正しく表示されますが、ルートにリンクされているコントローラ内で実行すると機能しません。
これは仕方
でスリムなPHPで雄弁を使用している任意の提案を修正
<?php
namespace App\Controllers;
use Slim\Http\Request;
use Slim\Http\Response;
use App\Models\Task;
use App\Models\User;
class HomeController extends BaseController
{
public function index($request, $response)
{
return $this->c->view->render($response, 'home.twig');
}
public function addTask($request, $response) {
$input = $request->getParsedBody();
$sql = new Task();
$options = array(
'options' => array(
'default' => 3, // value to return if the filter fails
// other options here
'min_range' => 0
),
'flags' => FILTER_FLAG_STRIP_BACKTICK,
);
$sql->task = filter_var($input['task'], FILTER_SANITIZE_STRING, $options);
$sql->save();
return $response->write($sql->toJson())->withRedirect('/todos');
}
に私の追加タスクコントローラを変更しなければならなかった$入力は何ですか?なぜタスクにタスクがありますか?とても混乱するような! – Scriptonomy
@Scriptonomy私はあなたの指導で物事を考え出している、私の主な質問は、私はどのようにユーザーと関連付けられた新しいタスクを追加するのですか? – BARNOWL