1
私はLaravel Query BuilderをinsertGetIdメソッドで使用しています。PostgreSQL Laravel not idを返します
トリガを使用した移行。トリガーは、すべてのユーザーのために新しいテーブルを作成します。
public function up()
{
Schema::create('links_group', function (Blueprint $table) {
$table->increments('id');
$table->integer('users_id');
$table->string('name');
$table->timestamps();
$table->softDeletes();
});
DB::statement("CREATE OR REPLACE FUNCTION links_group_triger() RETURNS trigger AS
$BODY$
DECLARE
temp_users_id INTEGER;
tablenew TEXT;
BEGIN
temp_users_id := NEW.users_id;
tablenew := 'links_group_' || NEW.users_id;
IF NOT EXISTS(SELECT * FROM links_group WHERE users_id = temp_users_id) THEN
EXECUTE 'CREATE TABLE ' || tablenew || ' (id SERIAL, PRIMARY KEY (id) ,
CHECK (users_id = ' || temp_users_id || ' )) INHERITS (links_group)';
END IF;
EXECUTE 'INSERT INTO ' || tablenew || ' SELECT(' || TG_RELNAME || ' ' || quote_literal(NEW) || ').* RETURNING id;';
RETURN NULL;
END;
$BODY$
LANGUAGE plpgsql;");
DB::statement("CREATE TRIGGER links_group_triger
BEFORE INSERT ON links_group
FOR EACH ROW EXECUTE PROCEDURE links_group_triger();");
}
私の問題は、insertGetIdデータが挿入されているのにIDが返されないということです。
$id_group = DB::table('links_group')->insertGetId($form);
Laravelスローエラー:PostgresProcessor.phpライン20で ErrorException: 未定義のオフセット:0
PostgresProcessor.phpにコードを投稿できますか? – shalvah
と同じhttps://github.com/laravel/framework/blob/master/src/Illuminate/Database/Query/Processors/PostgresProcessor.php – Laky