php - 获取数据库表后,现在我必须在 codeigniter 中编辑它

标签 php mysql database codeigniter left-join

我有这三个数据库表

vedd_plan_task

-task_id, -task_name,

tbl_plan

-plan_id, -plan_title, -plan_price, -plan_desc,

plan_task_mapping

-task_mapp_id, -plan_id, -task_id,

流程是这样的—— 我正在创建此数据的编辑/更新/删除系统。 我创建一个表单来插入计划数据,我在该页面上动态获取任务名称,并使用映射技术将数据插入到数据库中。 意味着在插入时我将 Plan_id 和 Task_id 映射到映射表中。

我成功插入了。并显示在我的 View 表中。现在我必须编辑这个细节。但首先我必须在我的 View 中显示此详细信息(例如输入框中的计划详细信息以及复选框中的计划所选任务)

现在我必须获取这些数据来编辑它们...我无法获取正确的方式...意味着无法获取正确的任务名称作为计划ID。请帮助我...

"plan_title | plan_price | plan_desc | task_name "

这是计划模型

public function getPlanById($planId)
{
    $this->db->where('plan_id', $planId);
    $query = $this->db->get('tbl_plan');
    return $query->result();    
}

public function getPlanAndTaskMappingByPlanId($planId)
{      
    $this->db->where('plan_id', $planId);
    $query = $this->db->get('plan_task_mapping');
    return $query->result();   
}

function getAllVeddingTask()
{   
    $query = $this->db->get('vedd_plan_task');
    return $query->result();
}

这是 Controller

public function editPlanData($planId)
{
    $data['veddingPlanData'] = $this->PlanModel->getPlanById($planId);
    $data['veddingPlanTaskMappingData'] = $this->PlanModel->getPlanAndTaskMappingByPlanId($planId);
    $data['allVedingTasks'] = $this->VeddingTaskModel->getAllVeddingTask();
    $this->load->view('plan_update', $data);
}

我成功转储数据...在我看来,现在我必须只显示为计划选择的任务..意味着我必须将任务名称显示为计划 ID。抛出映射故事

<?php  var_dump($veddingPlanData);  ?>
<?php  var_dump($veddingPlanTaskMappingData);  ?>
<?php  var_dump($allVedingTasks);  ?>

这是我的观点

现在帮助我使用特定的任务名称作为复选框和输入框中的计划数据来获取该计划.. 在 View 中听到我评论转储部分.. 我成功转储了它。所以我只想编辑在产品 id 上调用的数据..作为产品 id,数据来自映射,然后任务名称来自任务表。

最佳答案

很多年前,当我启动 Codeigniter 时,我就问过这个问题。 所以我发布了我自己问题的答案。

在这个问题中,我需要根据 vedding_task 使用 join 来编辑 vedding_task 来获取数据。

这是 JOIN 查询。

$prop_master_table = $this->db
    ->select('*')
    ->from('plan_task_mapping as ptm')
    ->join('vedd_plan_task as vpt', 'ptm.task_id = vpt.task_id', 'left outer')
    ->join('tbl_plan as tp', 'ptm.plan_id = tp.plan_id', 'left outer')                
    ->where('vpt.task_id', $task_id)
    ->where('tp.plan_id', $plan_id)
    ->get();

关于php - 获取数据库表后,现在我必须在 codeigniter 中编辑它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31455307/

相关文章:

php - 如何在 Laravel 的 Eloquent ORM 中按数据透视表数据排序

javascript - 通过从 javascript 文件查询数据库,根据下拉菜单中的选择更新 div 内容

c# - 如何将 LINQ 查询中的 "var"填充到同一个数据表中?

database - flyway支持的数据库

mysql - 根据条件对行进行分组,得到所有结果

php - 如何通过ajax将回显响应(文本)放入警告框中?

php - 在字符串中的某些字符前添加空格

php - Google Charts PHP MySql 错误

Javascript 未接收或修改值

php - Date_ADD 函数在 MySQL 中有效,但在 php 中无效