Codeigniter に移行しているニュース追跡 Web サイトを持っていますが、Codeigniter Active Record の使用で問題が発生しました。これを理解するのに十分な知識がありません。
古いコードでは、挿入を行い、挿入内で SELECT FROM を実行して、挿入内の 1 つのフィールドの値を取得します。
$this->db->query("INSERT INTO news_item_keywords_link (news_item_keyword, keyword)
SELECT $version_id, keyword FROM news_item_keywords_link WHERE news_item_keyword=$old_version
Active Record を使用してこれを実行しようとしましたが、その方法がわかりません。または、Active Record では実行できない可能性があります。
Active Record を使用して INSERT ステートメントでインライン FROM を実行する方法を教えてください。私はこの方法を試しましたが、構文エラーや提案が得られませんでした。
if ($this->db->insert('news_item_keywords', Array(
'news_item_keyword' => $version_id,
'keyword' => $this-db->select('keyword')
->from('news_item_keywords')
->where('news_item_keyword', $old_version);
))) {
機能を拡張するには、ORM ライブラリをインストールする必要がありますか? もしそうなら、どのORMライブラリが推奨されますか?