在laravel中使用find()的update()不起作用

时间:2016-06-21 06:55:31

标签: php laravel laravel-orm

我是laravel的新手,我在创建通用更新功能时面临问题,

代码1:这不起作用

if ($obj->find($primaryKey)->update($data)){
    return TRUE;
}
else
    return FALSE;

代码2:但是如果我试过这个,它就可以了:

if ($obj->where("candidate_id", $primaryKey)->update($data)){
    return TRUE;
}
else
    return FALSE;

我希望代码1能够正常工作

2 个答案:

答案 0 :(得分:1)

得到解决方案:

if ($obj->where($obj->getKeyName(), $primaryKey)->update($data)){
    return TRUE;
}
else
    return FALSE;

答案 1 :(得分:0)

我打算做一个有根据的猜测,因为Laravel希望主键为browserify components/app.tsx tests/tests.ts -p [factor-bundle -o scripts/app.js -o tests/scripts/tests.js] -x react -x react-dom -p tsify -o scripts/bundle.js 并且你使用id,你需要设置你的candidate_id属性相应的模型。

$primaryKey

您还可以检查以确保class Candidate extends Model { protected $primaryKey = 'candidate_id'; } 在提交更新之前发现某些内容以避免错误。

find()