BUGFIX: get_title_sql has string concat hardcoded as ||, fixed for MSSQL which uses +, fix for #5613 (from r105337)

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@112497 467b73ca-7a2a-4603-9d3b-597d59a354a9
This commit is contained in:
Ingo Schommer 2010-10-15 02:48:51 +00:00
parent 567143b3ff
commit 95e1efb4bf
1 changed files with 5 additions and 3 deletions

View File

@ -782,16 +782,18 @@ class Member extends DataObject {
* @return String SQL
*/
static function get_title_sql($tableName = 'Member') {
// This should be abstracted to SSDatabase concatOperator or similar.
$op = (DB::getConn() instanceof MSSQLDatabase) ? " + " : " || ";
if (self::$title_format) {
$columnsWithTablename = array();
foreach(self::$title_format['columns'] as $column) {
$columnsWithTablename[] = "\"$tableName\".\"$column\"";
}
return "(".join(" || '".self::$title_format['sep']."' || ", $columnsWithTablename).")";
return "(".join(" $op '".self::$title_format['sep']."' $op ", $columnsWithTablename).")";
} else {
return "(\"$tableName\".\"Surname\" || ' ' || \"$tableName\".\"FirstName\")";
return "(\"$tableName\".\"Surname\" $op ' ' $op \"$tableName\".\"FirstName\")";
}
}