雄辩地获得表的所有行并编辑字段

时间:2018-12-11 11:46:04

标签: laravel eloquent

我是laravel的新手,我正在尝试使用Eloquent为MySQL表的所有行编辑一个字段。

所以我创建了:

<?php

namespace App\Http\Controllers;
use App\Mining;
use DB;

class FrontendController extends Controller{
    public function cronDiff(){
        $basic = GeneralSettings::first();
        $row = Mining::all()->whereStatus(1)->get();
        foreach ($row as $coins){
            $code = Mining::where('coin_code', $coins->coin_code)->get();
            $risultato = difficolta($code);
            DB::table['minings']->insert('coin_code' => $code); 
        }
    }
}

我有一个像这样的表minings

id->int
name->varchar
coin_code->varchar
coin_diff->varchar
status->tinyint

但是我无法使用coin_diff的值更新$risultato(取自其他函数) 你能帮我找出我哪里错了吗?

谢谢。

3 个答案:

答案 0 :(得分:0)

尝试使用->update('coin_code' => $code);代替->insert

我认为这种解决方案会更好:

$minings = DB::table('minings')->get();

$minings->coin_code = $code;
$minings->update();

答案 1 :(得分:0)

它应该像这样工作:Mining::update(['coin_code' => $code]),如果您有条件,可以在更新之前将其链接。

此外,您需要在模型的$ fillable属性中具有这些列。因此,我不知道您会遇到什么错误,但这可能是由那引起的。

答案 2 :(得分:0)

如果要更新,那么为什么要使用插入?!

如果您要更新一行,请修改您的代码 DB::table['minings']->insert('coin_code' => $code); $coins->update(['coin_code' => $risultato]);

并确保$risultato具有字符串值