本文整理匯總了PHP中DatabaseOperation::whereClauseRelationshipNtoN方法的典型用法代碼示例。如果您正苦於以下問題:PHP DatabaseOperation::whereClauseRelationshipNtoN方法的具體用法?PHP DatabaseOperation::whereClauseRelationshipNtoN怎麽用?PHP DatabaseOperation::whereClauseRelationshipNtoN使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類DatabaseOperation
的用法示例。
在下文中一共展示了DatabaseOperation::whereClauseRelationshipNtoN方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: getArrayFieldsNameFromForeignKeyRelationNtoN
/**
* Retourne un tableau contenant la liste des enregsitrements que les
* tables ont en relation.
* Ces tables doivent être en relation N:N et configuré dans la base
* de données des informations des schémas:
* - Voir INFORMATION_SCHEMA > KEY_COLUMN_USAGE dans MySQL
*
* La valeur de retour est un tableau associatif sous la forme
* self::convertSqlResultWithKeyAsFirstFieldToArray()
*
* En cas d'ambiguïté de nom de champs à sélectionner, préciser le nom
* de la table.
* Par exemple, si les table RN et RN ont toutes les deux un champs nommé
* 'nom', alors préciser 'R1.nom' ou 'R2.nom' dans $arrayFieldsNameToDisplay
*
* @param string $primaryTableNameRN Nom de la table primaire de relation N
* @param array $secondaryTablesNamesAndidKeyValueRN Noms des tables secondaires de relation N et valeur des clefs étrangères
* @param string $arrayFieldsNameToDisplay Liste des champs à sélectionner.
* @param array $arrayFieldsNameOrder Liste des champs à classer.
* @return array de type self::convertSqlResultWithKeyAsFirstFieldToArray()
*/
public static function getArrayFieldsNameFromForeignKeyRelationNtoN($primaryTableNameRN, $secondaryTablesNamesAndidKeyValueRN, $arrayFieldsNameToDisplay, $arrayFieldsNameOrder = NULL, $keyValue = NULL, $conditionSql = NULL)
{
/**
* Nom de la clef de la table primaire N.
*/
$tableDescriptionRN = new DatabaseDescriptionTable($primaryTableNameRN);
$keyNameRN = $tableDescriptionRN->getKeyName();
/**
* Construction de la requête SQL
*/
$paramSelectClause = $primaryTableNameRN . '.' . $keyNameRN . ',' . $arrayFieldsNameToDisplay;
$paramTableClause = $primaryTableNameRN . DatabaseOperation::tableClauseRelationship($secondaryTablesNamesAndidKeyValueRN, $keyValue);
$paramWhereClauseRelationship = ' 1 ' . DatabaseOperation::whereClauseRelationshipNtoN($primaryTableNameRN, $secondaryTablesNamesAndidKeyValueRN, $keyValue);
$paramWhereClauseRelationship .= DatabaseOperation::whereClauseDistinct($primaryTableNameRN, $keyValue);
$paramWhereClauseRelationship .= ' ' . $conditionSql;
if ($arrayFieldsNameOrder) {
$paramOrderClause = implode(',', $arrayFieldsNameOrder);
}
return DatabaseOperation::convertSqlStatementWithKeyAsFirstFieldToArray(self::doSqlSelect($paramSelectClause, $paramTableClause, $paramWhereClauseRelationship, $paramOrderClause));
}