Edit File by line

Deprecated: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in /home/sportsfever/public_html/filemanger/function.php on line 93

Warning: Undefined array key "page_file_edit_line" in /home/sportsfever/public_html/filemanger/edit_text_line.php on line 32
/home/sportsfe.../httpdocs/clone/wp-conte.../plugins/wordpres.../lib
File: orm.php
/**
[500] Fix | Delete
* Returns the select query as SQL.
[501] Fix | Delete
*
[502] Fix | Delete
* @return string The select query in SQL.
[503] Fix | Delete
*/
[504] Fix | Delete
public function get_sql() {
[505] Fix | Delete
return $this->build_select();
[506] Fix | Delete
}
[507] Fix | Delete
[508] Fix | Delete
/**
[509] Fix | Delete
* Returns the update query as SQL.
[510] Fix | Delete
*
[511] Fix | Delete
* @return string The update query in SQL.
[512] Fix | Delete
*/
[513] Fix | Delete
public function get_update_sql() {
[514] Fix | Delete
return $this->build_update();
[515] Fix | Delete
}
[516] Fix | Delete
[517] Fix | Delete
/**
[518] Fix | Delete
* Executes an aggregate query on the current connection.
[519] Fix | Delete
*
[520] Fix | Delete
* @param string $sql_function The aggregate function to call eg. MIN, COUNT, etc.
[521] Fix | Delete
* @param string $column The column to execute the aggregate query against.
[522] Fix | Delete
*
[523] Fix | Delete
* @return int
[524] Fix | Delete
*/
[525] Fix | Delete
protected function call_aggregate_db_function( $sql_function, $column ) {
[526] Fix | Delete
$alias = \strtolower( $sql_function );
[527] Fix | Delete
$sql_function = \strtoupper( $sql_function );
[528] Fix | Delete
if ( $column !== '*' ) {
[529] Fix | Delete
$column = $this->quote_identifier( $column );
[530] Fix | Delete
}
[531] Fix | Delete
$result_columns = $this->result_columns;
[532] Fix | Delete
$this->result_columns = [];
[533] Fix | Delete
$this->select_expr( "{$sql_function}({$column})", $alias );
[534] Fix | Delete
$result = $this->find_one();
[535] Fix | Delete
$this->result_columns = $result_columns;
[536] Fix | Delete
$return_value = 0;
[537] Fix | Delete
if ( $result !== false && isset( $result->{$alias} ) ) {
[538] Fix | Delete
if ( ! \is_numeric( $result->{$alias} ) ) {
[539] Fix | Delete
$return_value = $result->{$alias};
[540] Fix | Delete
}
[541] Fix | Delete
// phpcs:ignore Universal.Operators.StrictComparisons -- Reason: This loose comparison seems intentional.
[542] Fix | Delete
elseif ( (int) $result->{$alias} == (float) $result->{$alias} ) {
[543] Fix | Delete
$return_value = (int) $result->{$alias};
[544] Fix | Delete
}
[545] Fix | Delete
else {
[546] Fix | Delete
$return_value = (float) $result->{$alias};
[547] Fix | Delete
}
[548] Fix | Delete
}
[549] Fix | Delete
[550] Fix | Delete
return $return_value;
[551] Fix | Delete
}
[552] Fix | Delete
[553] Fix | Delete
/**
[554] Fix | Delete
* Hydrates (populate) this instance of the class from an associative array of data. This will usually be called
[555] Fix | Delete
* only from inside the class, but it's public in case you need to call it directly.
[556] Fix | Delete
*
[557] Fix | Delete
* @param array $data Data to populate table.
[558] Fix | Delete
*
[559] Fix | Delete
* @return ORM
[560] Fix | Delete
*/
[561] Fix | Delete
public function hydrate( $data = [] ) {
[562] Fix | Delete
$this->data = $data;
[563] Fix | Delete
[564] Fix | Delete
return $this;
[565] Fix | Delete
}
[566] Fix | Delete
[567] Fix | Delete
/**
[568] Fix | Delete
* Forces the ORM to flag all the fields in the $data array as "dirty" and therefore update them when save() is
[569] Fix | Delete
* called.
[570] Fix | Delete
*
[571] Fix | Delete
* @return ORM
[572] Fix | Delete
*/
[573] Fix | Delete
public function force_all_dirty() {
[574] Fix | Delete
$this->dirty_fields = $this->data;
[575] Fix | Delete
[576] Fix | Delete
return $this;
[577] Fix | Delete
}
[578] Fix | Delete
[579] Fix | Delete
/**
[580] Fix | Delete
* Performs a raw query. The query can contain placeholders in either named or question mark style. If placeholders
[581] Fix | Delete
* are used, the parameters should be an array of values which will be bound to the placeholders in the query.
[582] Fix | Delete
* If this method is called, all other query building methods will be ignored.
[583] Fix | Delete
*
[584] Fix | Delete
* @param array $query The query.
[585] Fix | Delete
* @param array $parameters The parameters. Defaults to an empty array.
[586] Fix | Delete
*
[587] Fix | Delete
* @return ORM
[588] Fix | Delete
*/
[589] Fix | Delete
public function raw_query( $query, $parameters = [] ) {
[590] Fix | Delete
$this->is_raw_query = true;
[591] Fix | Delete
$this->raw_query = $query;
[592] Fix | Delete
$this->raw_parameters = $parameters;
[593] Fix | Delete
[594] Fix | Delete
return $this;
[595] Fix | Delete
}
[596] Fix | Delete
[597] Fix | Delete
/**
[598] Fix | Delete
* Adds an alias for the main table to be used in SELECT queries.
[599] Fix | Delete
*
[600] Fix | Delete
* @param string $alias The alias.
[601] Fix | Delete
*
[602] Fix | Delete
* @return ORM
[603] Fix | Delete
*/
[604] Fix | Delete
public function table_alias( $alias ) {
[605] Fix | Delete
$this->table_alias = $alias;
[606] Fix | Delete
[607] Fix | Delete
return $this;
[608] Fix | Delete
}
[609] Fix | Delete
[610] Fix | Delete
/**
[611] Fix | Delete
* Adds an unquoted expression to the set of columns returned by the SELECT query. Internal method.
[612] Fix | Delete
*
[613] Fix | Delete
* @param string $expr The expression.
[614] Fix | Delete
* @param string|null $alias The alias to return the expression as. Defaults to null.
[615] Fix | Delete
*
[616] Fix | Delete
* @return ORM
[617] Fix | Delete
*/
[618] Fix | Delete
protected function add_result_column( $expr, $alias = null ) {
[619] Fix | Delete
if ( ! \is_null( $alias ) ) {
[620] Fix | Delete
$expr .= ' AS ' . $this->quote_identifier( $alias );
[621] Fix | Delete
}
[622] Fix | Delete
if ( $this->using_default_result_columns ) {
[623] Fix | Delete
$this->result_columns = [ $expr ];
[624] Fix | Delete
$this->using_default_result_columns = false;
[625] Fix | Delete
}
[626] Fix | Delete
else {
[627] Fix | Delete
$this->result_columns[] = $expr;
[628] Fix | Delete
}
[629] Fix | Delete
[630] Fix | Delete
return $this;
[631] Fix | Delete
}
[632] Fix | Delete
[633] Fix | Delete
/**
[634] Fix | Delete
* Counts the number of columns that belong to the primary key and their value is null.
[635] Fix | Delete
*
[636] Fix | Delete
* @return int The amount of null columns.
[637] Fix | Delete
*
[638] Fix | Delete
* @throws Exception Primary key ID contains null value(s).
[639] Fix | Delete
* @throws Exception Primary key ID missing from row or is null.
[640] Fix | Delete
*/
[641] Fix | Delete
public function count_null_id_columns() {
[642] Fix | Delete
if ( \is_array( $this->get_id_column_name() ) ) {
[643] Fix | Delete
return \count( \array_filter( $this->id(), 'is_null' ) );
[644] Fix | Delete
}
[645] Fix | Delete
else {
[646] Fix | Delete
return \is_null( $this->id() ) ? 1 : 0;
[647] Fix | Delete
}
[648] Fix | Delete
}
[649] Fix | Delete
[650] Fix | Delete
/**
[651] Fix | Delete
* Adds a column to the list of columns returned by the SELECT query.
[652] Fix | Delete
*
[653] Fix | Delete
* @param string $column The column. Defaults to '*'.
[654] Fix | Delete
* @param string|null $alias The alias to return the column as. Defaults to null.
[655] Fix | Delete
*
[656] Fix | Delete
* @return ORM
[657] Fix | Delete
*/
[658] Fix | Delete
public function select( $column, $alias = null ) {
[659] Fix | Delete
$column = $this->quote_identifier( $column );
[660] Fix | Delete
[661] Fix | Delete
return $this->add_result_column( $column, $alias );
[662] Fix | Delete
}
[663] Fix | Delete
[664] Fix | Delete
/**
[665] Fix | Delete
* Adds an unquoted expression to the list of columns returned by the SELECT query.
[666] Fix | Delete
*
[667] Fix | Delete
* @param string $expr The expression.
[668] Fix | Delete
* @param string|null $alias The alias to return the column as. Defaults to null.
[669] Fix | Delete
*
[670] Fix | Delete
* @return ORM
[671] Fix | Delete
*/
[672] Fix | Delete
public function select_expr( $expr, $alias = null ) {
[673] Fix | Delete
return $this->add_result_column( $expr, $alias );
[674] Fix | Delete
}
[675] Fix | Delete
[676] Fix | Delete
/**
[677] Fix | Delete
* Adds columns to the list of columns returned by the SELECT query.
[678] Fix | Delete
*
[679] Fix | Delete
* This defaults to '*'.
[680] Fix | Delete
* Many columns can be supplied as either an array or as a list of parameters to the method.
[681] Fix | Delete
* Note that the alias must not be numeric - if you want a numeric alias then prepend it with some alpha chars. eg.
[682] Fix | Delete
* a1.
[683] Fix | Delete
*
[684] Fix | Delete
* @example select_many(array('column', 'column2', 'column3'), 'column4', 'column5');
[685] Fix | Delete
* @example select_many(array('alias' => 'column', 'column2', 'alias2' => 'column3'), 'column4', 'column5');
[686] Fix | Delete
* @example select_many('column', 'column2', 'column3');
[687] Fix | Delete
*
[688] Fix | Delete
* @return ORM
[689] Fix | Delete
*/
[690] Fix | Delete
public function select_many() {
[691] Fix | Delete
$columns = \func_get_args();
[692] Fix | Delete
if ( ! empty( $columns ) ) {
[693] Fix | Delete
$columns = $this->normalise_select_many_columns( $columns );
[694] Fix | Delete
foreach ( $columns as $alias => $column ) {
[695] Fix | Delete
if ( \is_numeric( $alias ) ) {
[696] Fix | Delete
$alias = null;
[697] Fix | Delete
}
[698] Fix | Delete
$this->select( $column, $alias );
[699] Fix | Delete
}
[700] Fix | Delete
}
[701] Fix | Delete
[702] Fix | Delete
return $this;
[703] Fix | Delete
}
[704] Fix | Delete
[705] Fix | Delete
/**
[706] Fix | Delete
* Adds an unquoted expression to the list of columns returned by the SELECT query.
[707] Fix | Delete
*
[708] Fix | Delete
* Many columns can be supplied as either an array or as a list of parameters to the method.
[709] Fix | Delete
* Note that the alias must not be numeric - if you want a numeric alias then prepend it with some alpha chars. eg.
[710] Fix | Delete
* a1
[711] Fix | Delete
*
[712] Fix | Delete
* @example select_many_expr(array('alias' => 'column', 'column2', 'alias2' => 'column3'), 'column4', 'column5')
[713] Fix | Delete
* @example select_many_expr('column', 'column2', 'column3')
[714] Fix | Delete
* @example select_many_expr(array('column', 'column2', 'column3'), 'column4', 'column5')
[715] Fix | Delete
*
[716] Fix | Delete
* @return ORM
[717] Fix | Delete
*/
[718] Fix | Delete
public function select_many_expr() {
[719] Fix | Delete
$columns = \func_get_args();
[720] Fix | Delete
if ( ! empty( $columns ) ) {
[721] Fix | Delete
$columns = $this->normalise_select_many_columns( $columns );
[722] Fix | Delete
foreach ( $columns as $alias => $column ) {
[723] Fix | Delete
if ( \is_numeric( $alias ) ) {
[724] Fix | Delete
$alias = null;
[725] Fix | Delete
}
[726] Fix | Delete
$this->select_expr( $column, $alias );
[727] Fix | Delete
}
[728] Fix | Delete
}
[729] Fix | Delete
[730] Fix | Delete
return $this;
[731] Fix | Delete
}
[732] Fix | Delete
[733] Fix | Delete
/**
[734] Fix | Delete
* Takes a column specification for the select many methods and convert it into a normalised array of columns and
[735] Fix | Delete
* aliases.
[736] Fix | Delete
*
[737] Fix | Delete
* It is designed to turn the following styles into a normalised array:
[738] Fix | Delete
* array(array('alias' => 'column', 'column2', 'alias2' => 'column3'), 'column4', 'column5'))
[739] Fix | Delete
*
[740] Fix | Delete
* @param array $columns The columns.
[741] Fix | Delete
*
[742] Fix | Delete
* @return array
[743] Fix | Delete
*/
[744] Fix | Delete
protected function normalise_select_many_columns( $columns ) {
[745] Fix | Delete
$return = [];
[746] Fix | Delete
foreach ( $columns as $column ) {
[747] Fix | Delete
if ( \is_array( $column ) ) {
[748] Fix | Delete
foreach ( $column as $key => $value ) {
[749] Fix | Delete
if ( ! \is_numeric( $key ) ) {
[750] Fix | Delete
$return[ $key ] = $value;
[751] Fix | Delete
}
[752] Fix | Delete
else {
[753] Fix | Delete
$return[] = $value;
[754] Fix | Delete
}
[755] Fix | Delete
}
[756] Fix | Delete
}
[757] Fix | Delete
else {
[758] Fix | Delete
$return[] = $column;
[759] Fix | Delete
}
[760] Fix | Delete
}
[761] Fix | Delete
[762] Fix | Delete
return $return;
[763] Fix | Delete
}
[764] Fix | Delete
[765] Fix | Delete
/**
[766] Fix | Delete
* Adds a DISTINCT keyword before the list of columns in the SELECT query.
[767] Fix | Delete
*
[768] Fix | Delete
* @return ORM
[769] Fix | Delete
*/
[770] Fix | Delete
public function distinct() {
[771] Fix | Delete
$this->distinct = true;
[772] Fix | Delete
[773] Fix | Delete
return $this;
[774] Fix | Delete
}
[775] Fix | Delete
[776] Fix | Delete
/**
[777] Fix | Delete
* Add a JOIN source to the query. Internal method.
[778] Fix | Delete
*
[779] Fix | Delete
* The join_operator should be one of INNER, LEFT OUTER, CROSS etc - this
[780] Fix | Delete
* will be prepended to JOIN.
[781] Fix | Delete
*
[782] Fix | Delete
* The table should be the name of the table to join to.
[783] Fix | Delete
*
[784] Fix | Delete
* The constraint may be either a string or an array with three elements. If it
[785] Fix | Delete
* is a string, it will be compiled into the query as-is, with no escaping. The
[786] Fix | Delete
* recommended way to supply the constraint is as an array with three elements:
[787] Fix | Delete
*
[788] Fix | Delete
* first_column, operator, second_column
[789] Fix | Delete
*
[790] Fix | Delete
* Example: array('user.id', '=', 'profile.user_id')
[791] Fix | Delete
*
[792] Fix | Delete
* will compile to
[793] Fix | Delete
*
[794] Fix | Delete
* ON `user`.`id` = `profile`.`user_id`
[795] Fix | Delete
*
[796] Fix | Delete
* The final (optional) argument specifies an alias for the joined table.
[797] Fix | Delete
*
[798] Fix | Delete
* @param string $join_operator The join_operator should be one of INNER, LEFT OUTER, CROSS etc - this will be
[799] Fix | Delete
* prepended to JOIN.
[800] Fix | Delete
* @param string $table The table should be the name of the table to join to.
[801] Fix | Delete
* @param string $constraint The constraint.
[802] Fix | Delete
* @param string|null $table_alias The alias for the joined table. Defaults to null.
[803] Fix | Delete
*
[804] Fix | Delete
* @return ORM
[805] Fix | Delete
*/
[806] Fix | Delete
protected function add_join_source( $join_operator, $table, $constraint, $table_alias = null ) {
[807] Fix | Delete
$join_operator = \trim( "{$join_operator} JOIN" );
[808] Fix | Delete
$table = $this->quote_identifier( $table );
[809] Fix | Delete
// Add table alias if present.
[810] Fix | Delete
if ( ! \is_null( $table_alias ) ) {
[811] Fix | Delete
$table_alias = $this->quote_identifier( $table_alias );
[812] Fix | Delete
$table .= " {$table_alias}";
[813] Fix | Delete
}
[814] Fix | Delete
// Build the constraint.
[815] Fix | Delete
if ( \is_array( $constraint ) ) {
[816] Fix | Delete
list( $first_column, $operator, $second_column ) = $constraint;
[817] Fix | Delete
[818] Fix | Delete
$first_column = $this->quote_identifier( $first_column );
[819] Fix | Delete
$second_column = $this->quote_identifier( $second_column );
[820] Fix | Delete
$constraint = "{$first_column} {$operator} {$second_column}";
[821] Fix | Delete
}
[822] Fix | Delete
$this->join_sources[] = "{$join_operator} {$table} ON {$constraint}";
[823] Fix | Delete
[824] Fix | Delete
return $this;
[825] Fix | Delete
}
[826] Fix | Delete
[827] Fix | Delete
/**
[828] Fix | Delete
* Adds a RAW JOIN source to the query.
[829] Fix | Delete
*
[830] Fix | Delete
* @param string $table The table name.
[831] Fix | Delete
* @param string $constraint The constraint.
[832] Fix | Delete
* @param string $table_alias The table alias.
[833] Fix | Delete
* @param array $parameters The parameters. Defaults to an empty array.
[834] Fix | Delete
*
[835] Fix | Delete
* @return ORM
[836] Fix | Delete
*/
[837] Fix | Delete
public function raw_join( $table, $constraint, $table_alias, $parameters = [] ) {
[838] Fix | Delete
// Add table alias if present.
[839] Fix | Delete
if ( ! \is_null( $table_alias ) ) {
[840] Fix | Delete
$table_alias = $this->quote_identifier( $table_alias );
[841] Fix | Delete
$table .= " {$table_alias}";
[842] Fix | Delete
}
[843] Fix | Delete
$this->values = \array_merge( $this->values, $parameters );
[844] Fix | Delete
// Build the constraint.
[845] Fix | Delete
if ( \is_array( $constraint ) ) {
[846] Fix | Delete
list( $first_column, $operator, $second_column ) = $constraint;
[847] Fix | Delete
[848] Fix | Delete
$first_column = $this->quote_identifier( $first_column );
[849] Fix | Delete
$second_column = $this->quote_identifier( $second_column );
[850] Fix | Delete
$constraint = "{$first_column} {$operator} {$second_column}";
[851] Fix | Delete
}
[852] Fix | Delete
$this->join_sources[] = "{$table} ON {$constraint}";
[853] Fix | Delete
[854] Fix | Delete
return $this;
[855] Fix | Delete
}
[856] Fix | Delete
[857] Fix | Delete
/**
[858] Fix | Delete
* Adds a simple JOIN source to the query.
[859] Fix | Delete
*
[860] Fix | Delete
* @param string $table The table name.
[861] Fix | Delete
* @param string $constraint The constraint.
[862] Fix | Delete
* @param string|null $table_alias The table alias. Defaults to null.
[863] Fix | Delete
*
[864] Fix | Delete
* @return ORM
[865] Fix | Delete
*/
[866] Fix | Delete
public function join( $table, $constraint, $table_alias = null ) {
[867] Fix | Delete
return $this->add_join_source( '', $table, $constraint, $table_alias );
[868] Fix | Delete
}
[869] Fix | Delete
[870] Fix | Delete
/**
[871] Fix | Delete
* Adds an INNER JOIN source to the query.
[872] Fix | Delete
*
[873] Fix | Delete
* @param string $table The table name.
[874] Fix | Delete
* @param string $constraint The constraint.
[875] Fix | Delete
* @param string|null $table_alias The table alias. Defaults to null.
[876] Fix | Delete
*
[877] Fix | Delete
* @return ORM
[878] Fix | Delete
*/
[879] Fix | Delete
public function inner_join( $table, $constraint, $table_alias = null ) {
[880] Fix | Delete
return $this->add_join_source( 'INNER', $table, $constraint, $table_alias );
[881] Fix | Delete
}
[882] Fix | Delete
[883] Fix | Delete
/**
[884] Fix | Delete
* Adds a LEFT OUTER JOIN source to the query.
[885] Fix | Delete
*
[886] Fix | Delete
* @param string $table The table name.
[887] Fix | Delete
* @param string $constraint The constraint.
[888] Fix | Delete
* @param string|null $table_alias The table alias. Defaults to null.
[889] Fix | Delete
*
[890] Fix | Delete
* @return ORM
[891] Fix | Delete
*/
[892] Fix | Delete
public function left_outer_join( $table, $constraint, $table_alias = null ) {
[893] Fix | Delete
return $this->add_join_source( 'LEFT OUTER', $table, $constraint, $table_alias );
[894] Fix | Delete
}
[895] Fix | Delete
[896] Fix | Delete
/**
[897] Fix | Delete
* Adds a RIGHT OUTER JOIN source to the query.
[898] Fix | Delete
*
[899] Fix | Delete
* @param string $table The table name.
[900] Fix | Delete
* @param string $constraint The constraint.
[901] Fix | Delete
* @param string|null $table_alias The table alias. Defaults to null.
[902] Fix | Delete
*
[903] Fix | Delete
* @return ORM
[904] Fix | Delete
*/
[905] Fix | Delete
public function right_outer_join( $table, $constraint, $table_alias = null ) {
[906] Fix | Delete
return $this->add_join_source( 'RIGHT OUTER', $table, $constraint, $table_alias );
[907] Fix | Delete
}
[908] Fix | Delete
[909] Fix | Delete
/**
[910] Fix | Delete
* Adds a FULL OUTER JOIN source to the query.
[911] Fix | Delete
*
[912] Fix | Delete
* @param string $table The table name.
[913] Fix | Delete
* @param string $constraint The constraint.
[914] Fix | Delete
* @param string|null $table_alias The table alias. Defaults to null.
[915] Fix | Delete
*
[916] Fix | Delete
* @return ORM
[917] Fix | Delete
*/
[918] Fix | Delete
public function full_outer_join( $table, $constraint, $table_alias = null ) {
[919] Fix | Delete
return $this->add_join_source( 'FULL OUTER', $table, $constraint, $table_alias );
[920] Fix | Delete
}
[921] Fix | Delete
[922] Fix | Delete
/**
[923] Fix | Delete
* Adds a HAVING condition to the query. Internal method.
[924] Fix | Delete
*
[925] Fix | Delete
* @param string $fragment The fragment.
[926] Fix | Delete
* @param array $values The values. Defaults to an empty array.
[927] Fix | Delete
*
[928] Fix | Delete
* @return ORM
[929] Fix | Delete
*/
[930] Fix | Delete
protected function add_having( $fragment, $values = [] ) {
[931] Fix | Delete
return $this->add_condition( 'having', $fragment, $values );
[932] Fix | Delete
}
[933] Fix | Delete
[934] Fix | Delete
/**
[935] Fix | Delete
* Adds a HAVING condition to the query. Internal method.
[936] Fix | Delete
*
[937] Fix | Delete
* @param string $column_name The table column.
[938] Fix | Delete
* @param string $separator The separator.
[939] Fix | Delete
* @param mixed $value The value.
[940] Fix | Delete
*
[941] Fix | Delete
* @return ORM
[942] Fix | Delete
*/
[943] Fix | Delete
protected function add_simple_having( $column_name, $separator, $value ) {
[944] Fix | Delete
return $this->add_simple_condition( 'having', $column_name, $separator, $value );
[945] Fix | Delete
}
[946] Fix | Delete
[947] Fix | Delete
/**
[948] Fix | Delete
* Adds a HAVING clause with multiple values (like IN and NOT IN). Internal method.
[949] Fix | Delete
*
[950] Fix | Delete
* @param string|array $column_name The table column.
[951] Fix | Delete
* @param string $separator The separator.
[952] Fix | Delete
* @param array $values The values.
[953] Fix | Delete
*
[954] Fix | Delete
* @return ORM
[955] Fix | Delete
*/
[956] Fix | Delete
public function add_having_placeholder( $column_name, $separator, $values ) {
[957] Fix | Delete
if ( ! \is_array( $column_name ) ) {
[958] Fix | Delete
$data = [ $column_name => $values ];
[959] Fix | Delete
}
[960] Fix | Delete
else {
[961] Fix | Delete
$data = $column_name;
[962] Fix | Delete
}
[963] Fix | Delete
$result = $this;
[964] Fix | Delete
foreach ( $data as $key => $val ) {
[965] Fix | Delete
$column = $result->quote_identifier( $key );
[966] Fix | Delete
$placeholders = $result->create_placeholders( $val );
[967] Fix | Delete
$result = $result->add_having( "{$column} {$separator} ({$placeholders})", $val );
[968] Fix | Delete
}
[969] Fix | Delete
[970] Fix | Delete
return $result;
[971] Fix | Delete
}
[972] Fix | Delete
[973] Fix | Delete
/**
[974] Fix | Delete
* Adds a HAVING clause with no parameters(like IS NULL and IS NOT NULL). Internal method.
[975] Fix | Delete
*
[976] Fix | Delete
* @param string $column_name The column name.
[977] Fix | Delete
* @param string $operator The operator.
[978] Fix | Delete
*
[979] Fix | Delete
* @return ORM
[980] Fix | Delete
*/
[981] Fix | Delete
public function add_having_no_value( $column_name, $operator ) {
[982] Fix | Delete
$conditions = \is_array( $column_name ) ? $column_name : [ $column_name ];
[983] Fix | Delete
$result = $this;
[984] Fix | Delete
foreach ( $conditions as $column ) {
[985] Fix | Delete
$column = $this->quote_identifier( $column );
[986] Fix | Delete
$result = $result->add_having( "{$column} {$operator}" );
[987] Fix | Delete
}
[988] Fix | Delete
[989] Fix | Delete
return $result;
[990] Fix | Delete
}
[991] Fix | Delete
[992] Fix | Delete
/**
[993] Fix | Delete
* Adds a WHERE condition to the query. Internal method.
[994] Fix | Delete
*
[995] Fix | Delete
* @param string $fragment The fragment.
[996] Fix | Delete
* @param array $values The values. Defaults to an empty array.
[997] Fix | Delete
*
[998] Fix | Delete
* @return ORM
[999] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function