好吧,我真的很困惑.当我检查属性是否存在时,它返回false.
if (property_exists($pais, 'id'))
// false
Run Code Online (Sandbox Code Playgroud)
但是当我调试它时,它就会显示出来.
print_r($pais->id);
// 1
print_r(property_exists($pais, 'id'));
// false
Run Code Online (Sandbox Code Playgroud)
我疯了还是我的神经元只是炒?
并且pais的创建是由
if (key_exists('country', $data))
$pais = Pais::adicionarPais($data);
(...)
public static function adicionarPais(array $data)
{
return Pais::firstOrCreate(['nome' => $data['country']]);
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试为 pgsql 编写一个触发器来保留特定表上的插入、更新和删除的日志。
我在创建触发器时在位置 171 上收到错误,但我真的不知道为什么。
日志表
+----------+-----------+---------------------------+
|table_name|column_name|data_type |
+----------+-----------+---------------------------+
|logs |id |bigint |
|logs |action |smallint |
|logs |table |character varying |
|logs |primary |bigint |
|logs |log |json |
|logs |processed |boolean |
|logs |created_at |timestamp without time zone|
|logs |updated_at |timestamp without time zone|
+----------+-----------+---------------------------+
Run Code Online (Sandbox Code Playgroud)
功能和触发
CREATE OR REPLACE FUNCTION insert_log (INT, VARCHAR, INT, VARCHAR) RETURNS INT AS $$
BEGIN
INSERT INTO public.logs ("action", "table", "primary", "log")
VALUES ($1, $2, $3, $4)
RETURNING id;
END
$$ …Run Code Online (Sandbox Code Playgroud) laravel ×1
laravel-5 ×1
laravel-5.4 ×1
php ×1
php-7 ×1
postgresql ×1
sql ×1
sql-insert ×1
triggers ×1