用于收集市場中操作日志用戶所遇到的問題
laravel ORM 使用 DB 操作 $ignoreLogFields(日志生成忽略的字段)及$doNotRecordLog(數(shù)據(jù)表不生成日志) 屬性不生效
應(yīng)該是沒有找到對應(yīng)模型,可以設(shè)置一下表模型對應(yīng)關(guān)系 \Chance\Log\facades\OperationLog::setTableModelMapping
佬 修復(fù)一下laravel orm Log文件 如果模型casts屬性字段定義成Object 寫數(shù)據(jù) 日志就會報錯 (Object of class Illuminate\Database\Eloquent\Casts\ArrayObject could not be converted to string) Log getValue方法兼容下object
安裝插件后,webman-admin后臺新增管理員賬戶,登陸后會報錯
{
"code": 500,
"msg": "json_decode(): Passing null to parameter #1 ($json) of type string is deprecated",
"type": "failed",
"traces": "ErrorException: json_decode(): Passing null to parameter #1 ($json) of type string is deprecated in /Users/mac/poj
/webman/vendor/chance-fyi/operation-log/src/orm/illuminate/Log.php:114\nStack trace:
#0 [internal function]: support\\App::{closure}(8192, 'json_decode(): ...', '/Users/mac/poj
/...', 114)
#1 /Users/mac/poj
/webman/vendor/chance-fyi/operation-log/src/orm/illuminate/Log.php(114): json_decode(NULL, true)
#2 /Users/mac/poj
/webman/vendor/chance-fyi/operation-log/src/OperationLog.php(190): Chance\\Log\\orm\\illuminate\\Log->getOldValue(Object(plugin\\admin\\app\\model\\Admin), 'login_at')
#3 /Users/mac/poj
/webman/vendor/chance-fyi/operation-log/src/orm/illuminate/Log.php(147): Chance\\Log\\OperationLog->generateLog(Object(plugin\\admin\\app\\model\\Admin), 'updated')
#4 [internal function]: Chance\\Log\\orm\\illuminate\\Log->updated(Object(plugin\\admin\\app\\model\\Admin), Array, Array)
#5 /Users/mac/poj
/webman/vendor/chance-fyi/operation-log/src/Facade.php(19): call_user_func_array(Array, Array)
#6 /Users/mac/poj
/webman/vendor/chance-fyi/operation-log/src/orm/illuminate/Builder.php(53): Chance\\Log\\Facade::__callStatic('updated', Array)
#7 /Users/mac/poj
/webman/vendor/illuminate/database/Eloquent/Builder.php(921): Chance\\Log\\orm\\illuminate\\Builder->update(Array)
#8 /Users/mac/poj
/webman/vendor/illuminate/database/Eloquent/Model.php(1072): Illuminate\\Database\\Eloquent\\Builder->update(Array)
#9 /Users/mac/poj
/webman/vendor/illuminate/database/Eloquent/Model.php(987): Illuminate\\Database\\Eloquent\\Model->performUpdate(Object(Illuminate\\Database\\Eloquent\\Builder))
#10 /Users/mac/poj
/webman/plugin/admin/app/controller/AccountController.php(83): Illuminate\\Database\\Eloquent\\Model->save()
#11 /Users/mac/poj
/webman/vendor/workerman/webman-framework/src/App.php(319): plugin\\admin\\app\\controller\\AccountController->login(Object(support\\Request))
#12 /Users/mac/poj
/webman/vendor/workerman/webman-framework/src/App.php(349): Webman\\App::Webman\\{closure}(Object(support\\Request))
#13 /Users/mac/poj
/webman/plugin/oplog/app/middleware/AfterOperationLog.php(17): Webman\\App::Webman\\{closure}(Object(support\\Request))
#14 /Users/mac/poj
/webman/vendor/workerman/webman-framework/src/App.php(341): plugin\\oplog\\app\\middleware\\AfterOperationLog->process(Object(support\\Request), Object(Closure))
#15 /Users/mac/poj
/webman/plugin/admin/app/middleware/AccessControl.php(47): Webman\\App::Webman\\{closure}(Object(support\\Request))
#16 /Users/mac/poj
/webman/vendor/workerman/webman-framework/src/App.php(341): plugin\\admin\\app\\middleware\\AccessControl->process(Object(support\\Request), Object(Closure))
#17 /Users/mac/poj
/webman/vendor/workerman/webman-framework/src/App.php(141): Webman\\App::Webman\\{closure}(Object(support\\Request))
#18 /Users/mac/poj
/webman/vendor/workerman/workerman/Connection/TcpConnection.php(646): Webman\\App->onMessage(Object(Workerman\\Connection\\TcpConnection), Object(support\\Request))
#19 /Users/mac/poj
/webman/vendor/workerman/workerman/Events/Select.php(311): Workerman\\Connection\\TcpConnection->baseRead(Resource id #442)
#20 /Users/mac/poj
/webman/vendor/workerman/workerman/Worker.php(1635): Workerman\\Events\\Select->loop()
#21 /Users/mac/poj
/webman/vendor/workerman/workerman/Worker.php(1426): Workerman\\Worker::forkOneWorkerForLinux(Object(Workerman\\Worker))
#22 /Users/mac/poj
/webman/vendor/workerman/workerman/Worker.php(1400): Workerman\\Worker::forkWorkersForLinux()
#23 /Users/mac/poj
/webman/vendor/workerman/workerman/Worker.php(560): Workerman\\Worker::forkWorkers()
#24 /Users/mac/poj
/webman/vendor/workerman/webman-framework/src/support/App.php(131): Workerman\\Worker::runAll()
#25 /Users/mac/poj
/webman/start.php(4): support\\App::run()
#26 {main}"
}
"Error: Object of class Illuminate\\Database\\Query\\Expression could not be converted to string in /vendor/chance-fyi/operation-log/src/orm/illuminate/Log.php:90
用了 illuminate 的 decrement 就會這個錯誤報錯
Db::connection('mysql')->beginTransaction();
try {
$user = User::where('id', $id)->lockForUpdate()->first();
$user->decrement('account', $amount);
Db::connection('mysql')->commit();
} catch (\Exception $e) {
Db::connection('mysql')->rollback();
}