if($_POST)
{
$this->User_model->update('user_about',$_POST,$this->session->userdata['id']);
}
は三つのパラメータ、テーブル名、ポストデータとユーザIDを取るように私は私のコントローラから呼び出す私のモデルでの更新機能を持っています。機能はそれ以外の場合は更新し、特定のユーザーのレコードは、それが挿入する必要があり存在しない場合はチェックしている私はここでやっている
public function update($table,$data,$id)
{
$row=$this->db->select('*')->from($table)->WHERE('user_id',$id)->row();
if($row)
{
$this->db->WHERE('user_id',$id)->UPDATE($table,$data);
}
else
{
$data['user_id']=$id;
$this->db->insert($table,$data);
}
}
として、モデルで定義されています。魅力
質問
IF条件ブロックをスキップする方法はありますように動作します?。チェック自体を実行するクエリビルダには何らかの条項がありますか?
mysqlのみでは、INSERT .. ON DUPLICATE KEY UPDATEを使用できますが、codeigniterはそのようなクエリをサポートしていません。自分でクエリを書く。またはクエリビルダクラスを拡張するadnd write such method – splash58
@ splash58 thats何がやっているのか、その作業。他の誰かがこの問題に遭遇し、同じ考えを持っているかどうか尋ねたいだけでした。 –