我正在研究Laravel 4和Postgreql。我试图存储一个数组在Postgreql数组字段。这是我的表声明:
CREATE TABLE person_title (
id serial primary key,
title text,
name_list text[]
);
我试着用雄辩插入一行:
public function create_person_title() {
$title = Input::get('title');
$name_list = Input::get('name_list');
$data = [
'title' : $title,
'name_list' : $name_list,
];
PersonTitle::create($data);
}
我得到这个错误:
preg_replace(): Parameter mismatch, pattern is a string while replacement is an array
此错误来自供应商/laravel/框架/src/照明/支持/helpers.php:990。
我读过这个问题,为什么在Laravel中提交帖子表单时会出现preg_replace()错误?尝试保存数组时会发生此错误。
但我确实想在我的Postgresql记录上存储一个数组(我应该能够做到这一点)。你知道怎么做吗?
我找到了一种方法来存储在postgresql数组文本字段通过修改我的列表。以下是我的新观点:
public function create_person_title() {
$title = Input::get('title');
$name_list = Input::get('name_list');
// Can't save a null value
if (!$name_list) {
$name_list = [];
}
$name_list = json_encode($name_list);
$name_list = "'".preg_replace("#^\[(.*)\]$#", '{\1}', $name_list)."'";
$name_list = DB::raw($name_list);
$data = [
'title' : $title,
'name_list' : $name_list,
];
PersonTitle::create($data);
}
我希望它能帮助你。如果数组包含单引号和其他字符(如反斜杠),则必须对其进行转义。
如果没有人有更好的方法,我就是买家!
嘿,伙计们,我是拉威尔的新朋友。我有这张桌子 我如何能够获取每个科目的is_correct列计数? 谢谢伙计们!
我有以下雄辩的模型: 用户id 邮政编码 评论| id |发布| id |用户| id 使用eloquent,如何获取特定用户尚未发表评论的所有帖子? 到目前为止,我试过: 在模范岗位: 在模型注释中:
我有以下模型与填充属性: 我有一个表格来更新作业,其中包括一些多选下拉列表,如下所示: 在我的控制器中,我有以下方法来更新作业,但我得到错误: 似乎使用
如何将以下查询转换为Laravel4雄辩ORM?
我有一个表,其中包括一列浏览器版本。我只是想从记录集中知道每种浏览器有多少种。所以,我需要这样结束:总记录:10;InternetExplorer 8:2;铬25:4;火狐20:4。(总计10) 这是我的两便士: 当然,它只包含3个浏览器,而不是每个浏览器的数量。我该怎么做呢?
在发布这篇文章之前,我做了很多研究。 我得到以下错误时,试图插入一个记录到PostgreSQL使用Laravel雄辩的ORM。 这是错误: 这是数据库表创建模式: 这就是我试图执行的代码: 我创建了一个模型类FbPostShareCount扩展雄辩。 我知道laravel不支持复杂的键,但当我使用MySQL时,这个问题并没有发生