"t1.tipo", 1 => "t2.nombre", 2 => "t1.ancho_min", 3 => "t1.ancho_max", 4 => "t1.alto_min", 5 => "t1.alto_max", 6 => "t1.tirada_min", 7 => "t1.tirada_max", ]; protected $allowedFields = [ "tipo", "ancho_min", "ancho_max", "alto_min", "alto_max", "tirada_min", "tirada_max", "maquina_id", ]; protected $returnType = "App\Entities\Configuracion\MaquinasDefectoEntity"; protected $useTimestamps = true; protected $useSoftDeletes = false; protected $createdField = "created_at"; protected $updatedField = "updated_at"; public static $labelField = "tipo"; protected $validationRules = [ "alto_max" => [ "label" => "MaquinaPorDefectoes.altoMax", "rules" => "required|decimal", ], "alto_min" => [ "label" => "MaquinaPorDefectoes.altoMin", "rules" => "required|decimal", ], "ancho_max" => [ "label" => "MaquinaPorDefectoes.anchoMax", "rules" => "required|decimal", ], "ancho_min" => [ "label" => "MaquinaPorDefectoes.anchoMin", "rules" => "required|decimal", ], "tipo" => [ "label" => "MaquinaPorDefectoes.tipo", "rules" => "required|in_list[bn,bnhq,color,portada,cubierta,rotativa]", ], "tirada_max" => [ "label" => "MaquinaPorDefectoes.tiradaMax", "rules" => "required|integer", ], "tirada_min" => [ "label" => "MaquinaPorDefectoes.tiradaMin", "rules" => "required|integer", ], ]; protected $validationMessages = [ "alto_max" => [ "decimal" => "MaquinaPorDefectoes.validation.alto_max.decimal", "required" => "MaquinaPorDefectoes.validation.alto_max.required", ], "alto_min" => [ "decimal" => "MaquinaPorDefectoes.validation.alto_min.decimal", "required" => "MaquinaPorDefectoes.validation.alto_min.required", ], "ancho_max" => [ "decimal" => "MaquinaPorDefectoes.validation.ancho_max.decimal", "required" => "MaquinaPorDefectoes.validation.ancho_max.required", ], "ancho_min" => [ "decimal" => "MaquinaPorDefectoes.validation.ancho_min.decimal", "required" => "MaquinaPorDefectoes.validation.ancho_min.required", ], "tipo" => [ "in_list" => "MaquinaPorDefectoes.validation.tipo.in_list", "required" => "MaquinaPorDefectoes.validation.tipo.required", ], "tirada_max" => [ "integer" => "MaquinaPorDefectoes.validation.tirada_max.integer", "required" => "MaquinaPorDefectoes.validation.tirada_max.required", ], "tirada_min" => [ "integer" => "MaquinaPorDefectoes.validation.tirada_min.integer", "required" => "MaquinaPorDefectoes.validation.tirada_min.required", ], ]; public function findAllWithMaquinas(string $selcols = "*", int $limit = null, int $offset = 0) { $sql = "SELECT t1." . $selcols . ", t2.nombre AS maquina FROM " . $this->table . " t1 LEFT JOIN lg_maquinas t2 ON t1.maquina_id = t2.id"; if (!is_null($limit) && intval($limit) > 0) { $sql .= " LIMIT " . $limit; } if (!is_null($offset) && intval($offset) > 0) { $sql .= " OFFSET " . $offset; } $query = $this->db->query($sql); $result = $query->getResultObject(); return $result; } /** * Get resource data. * * @param string $search * * @return \CodeIgniter\Database\BaseBuilder */ public function getResource(string $search = "") { $builder = $this->db ->table($this->table . " t1") ->select( "t1.id AS id, t1.tipo AS tipo, t1.ancho_min AS ancho_min, t1.ancho_max AS ancho_max, t1.alto_min AS alto_min, t1.alto_max AS alto_max, t1.tirada_min AS tirada_min, t1.tirada_max AS tirada_max, t2.nombre AS maquina" ); $builder->join("lg_maquinas t2", "t1.maquina_id = t2.id", "left"); return empty($search) ? $builder : $builder ->groupStart() ->like("t1.id", $search) ->orLike("t1.tipo", $search) ->orLike("t1.ancho_min", $search) ->orLike("t1.ancho_max", $search) ->orLike("t1.alto_min", $search) ->orLike("t1.alto_max", $search) ->orLike("t1.tirada_min", $search) ->orLike("t1.tirada_max", $search) ->orLike("t2.id", $search) ->orLike("t1.id", $search) ->orLike("t1.tipo", $search) ->orLike("t1.ancho_min", $search) ->orLike("t1.ancho_max", $search) ->orLike("t1.alto_min", $search) ->orLike("t1.alto_max", $search) ->orLike("t1.tirada_min", $search) ->orLike("t1.tirada_max", $search) ->orLike("t1.maquina_id", $search) ->orLike("t2.nombre", $search) ->groupEnd(); } }