我需要将$arr1 = array
(
0 => array
(
"id" => 1,
"0" => 1,
"project_id" => "a",
"1" => "a",
"title" => "Yellow",
"2" => "Yellow"
),
"1" => array
(
"id" => 2,
"0" => 2,
"project_id" => "b",
"1" => "b",
"title" => "blue",
"2" => "blue",
)
,
"2" => array
(
"id" => 3,
"0" => 3,
"project_id" => "c",
"1" => "c",
"title" => "green",
"2" => "green"
)
);
$arr2 =array
(
"0" => array
(
"id" => 1,
"0" => 1,
"project_id" => "b",
"1" => "b",
"name" => "Ross",
"4" => "Ross",
"15" => "",
"category" => "horse",
"16" => "horse",
),
"1" => array
(
"id" => 2,
"0" => 2,
"project_id" => "b",
"1" => "b",
"name" => "Capone",
"4" => "Capone",
"category" => "cat",
"16" => "cat",
),
"2" => array
(
"id" => 3,
"0" => 3,
"project_id" => "c",
"1" => "c",
"name" => "Streisand",
"4" => "Streisand",
"category" => "elephant",
"16" => "elephant"
),
"3" => array
(
"id" => 4,
"0" => 4,
"project_id" => "a",
"1" => "a",
"name" => "Harper",
"4" => "Harper",
"category" => "frog",
"16" => "frog"
)
);
$new_arr=array();
foreach ($arr1 as $key => $value) {
$new_arr_tmp=array();
$new_arr_tmp["id"]=$value["id"];
$new_arr_tmp["project_id"]=$value["project_id"];
$new_arr_tmp["title"]=$value["title"];
foreach ($arr2 as $key1 => $value1) {
if($new_arr_tmp["project_id"] == $value1["project_id"])
{
$new_arr_tmp[$value1["category"]]=$value1["name"];
}
}
$new_arr[]=$new_arr_tmp;
}
echo "<pre>";
print_r($new_arr);
从Organization.name
扩展到VARCHAR(100)
。
我正在使用Liferay 7.0.2 GA3。
有一些机制可以覆盖VARCHAR(200)
?
或者其他可以帮助我的东西?
答案 0 :(得分:0)
不鼓励更改核心数据库结构,并且会造成难以维护的混乱:可能存在假设当前长度的部分(即使我希望没有)。一般来说,无论如何都不鼓励查看数据库结构和内容。
话虽这么说,但我很想知道usecase使用名称很长的组织。想象一下:除了未来Liferay升级的维护任务之外,这还会在UI上产生真正的显示问题:组织名称可能出现在多个位置(例如,如果该组织附有站点)。您打算如何以不完全破坏用户界面的方式显示这些名称?
或者,总结一下:不要去那里。引入组织规则以使用更短的组织名称。恕我直言,甚至100个字符太长,不能实际使用。
另外,如您所愿ask in multiple places,多次生成相同的作品:Don't do this in future。