本文整理汇总了PHP中DatabaseOperation::tableClauseRelationship方法的典型用法代码示例。如果您正苦于以下问题:PHP DatabaseOperation::tableClauseRelationship方法的具体用法?PHP DatabaseOperation::tableClauseRelationship怎么用?PHP DatabaseOperation::tableClauseRelationship使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类DatabaseOperation
的用法示例。
在下文中一共展示了DatabaseOperation::tableClauseRelationship方法的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));
}