【问题标题】:MySQL/PHP how to get specific field id from field which is related with another field of the same rowMySQL / PHP如何从与同一行的另一个字段相关的字段中获取特定的字段ID
【发布时间】:2017-05-19 07:13:43
【问题描述】:

我有两张桌子:

数据库

'intervaloHorario' 有许多 'citas'

Citas(idCitas、idIntervaloHorario、cita)

IntervalosHorarios(idIntervaloHorario,intervaloHorario)

在表格中:

我想动态获取与其自己的“cita”相关的“intervaloHorario”。我正在通过传递cita的当前ID来尝试这个。 我不知道你是否明白我的意图。

型号

public function get_idintervalo($idCitas) {

        $query = $this->db->query('select intervaloshorarios.idIntervaloHorario '
            . 'from intervaloshorarios left join citas '
            . 'on intervaloshorarios.idIntervaloHorario=citas.idCitas '
            . 'where citas.idCitas =  '.$idCarga.' ;');


        return $query->result();
}

控制器

public function entregas_lista($idCitas) {

  $crud->where('entregas.idCitas =', $idCitas); 
//Esta es la función que llama a la consulta del modelo   
$query = $this->Intervalos_Model->get_idintervalo($idCitas);

 if ($crud->getState() == "add") {
            $crud->change_field_type('idCitas', 'hidden', $idCitas);
            $crud->change_field_type('idIntervaloHorario', 'hidden', $query);
        }


}

错误:

Severity: Notice

Message: Array to string conversion

这个查询没有给我任何错误,但它不允许我保存表单,所以我认为查询是错误的。我怎样才能让它发挥作用?

【问题讨论】:

  • “这个查询没有给我任何错误,但它没有让我保存表单,所以我认为查询是错误的” Codeignitor 在出现 SQL 错误时给出错误....
  • 是的,但在我的情况下,当我尝试保存表单时出现错误。我认为 id 与其联接表的元素不对应
  • 您的模型中的函数 get_idintervalo 是否正确?因为你只是返回 SQL 命令,而不是在任何地方查询!
  • 你说得对,我已经解决了这个问题,我会更新问题。通过此修复,它会引发下一个错误。 (上)
  • 实际上是哪一行产生了错误?

标签: php mysql sql codeigniter codeigniter-3


【解决方案1】:

用你的母语在你的控制器中写的评论有点难理解。

这是我想指出的一些基本更改,我还添加了解决方案,希望它有效。

第一次使用模型进行数据库查询,我看到你在控制器中尝试了->where。 Seondely,你的错误清楚地表明你在查询中传递了一个数组,所以先检查一下。 我正在添加一个加入查询,该查询使用idIntervaloHorario 列加入CitasIntervalosHorarios,其中idCitas。 我假设$idCarga = array('idCarga'=>'value idCarga value');

$query = $this->db->selct('intervaloshorarios.idIntervaloHorario')
        ->from('intervaloshorarios')
        ->join('citas', 'intervaloshorarios.idIntervaloHorario = citas.idIntervaloHorario', 'left outer')
        ->where('citas.idCitas',$idCarga['idCarga']);
        ->get();

 return $query->result();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多