我正在建立一个新网站,我有这个cron作业脚本来自动更新所有投资
错误似乎来自http控制器(行:$rLog['amount'] = round(($rep->invest->amount * $rep->invest->plan->percent) / 100,$basic->deci);
)。
但是我不知道如何解决它,因为它对laravel来说是全新的
if ($basic->repeat_status == 1){
$repeats = Repeat::whereStatus(0)->get();
foreach ($repeats as $rep){
if ($rep->repeat_time < Carbon::now()){
$rLog['user_id'] = $rep->user_id;
$rLog['trx_id'] = strtoupper(Str::random(20));
$rLog['investment_id'] = $rep->investment_id;
$rLog['made_time'] = Carbon::now();
$rLog['amount'] = round(($rep->invest->amount * $rep->invest->plan->percent) / 100,$basic->deci);
RepeatLog::create($rLog);
$rep->total_repeat = $rep->total_repeat + 1;
$rep->made_time = Carbon::now();
$rep->repeat_time = Carbon::parse()->addHours($rep->invest->plan->compound->compound);
if ($rep->total_repeat == $rep->invest->plan->time){
$rep->status = 1;
$inv = Investment::findOrFail($rep->investment_id);
$inv->status = 1;
$inv->save();
}
$rep->save();
我希望cron作业脚本能够运行,并且结果应该是用户对原始投资的更新
答案 0 :(得分:0)
我认为例外消息与cron-job工作无关, 似乎您的对象具有null属性。 检查并记录$ rep-> invest的值(如果为空) 然后检查$ rep-> invest-> plan的值以找出问题所在。
我认为这些事情之一可能为空。然后修复它们之后,您可能会 与cron-job有关的其他问题,但情况不同。好运气。
答案 1 :(得分:0)
您可以尝试$ reptime ['invest']等...
但是要将其变成对象,请使用以下代码:
json_encode($rep)
因为$ rep可能是一个数组。
祝你好运!