Php 使用Laravel Eloquent更新具有复合键的表
我被困在一张有复合钥匙的桌子里。我试图使用雄辩的方法通过两个主键过滤记录。但我知道Elount不支持复合键。我已经经历了许多解决方案,但没有一个解决方案是足够清楚的初学者理解 解决方案代码表示使用以下代码编辑模型类:Php 使用Laravel Eloquent更新具有复合键的表,php,laravel,eloquent,laravel-5.8,composite-key,Php,Laravel,Eloquent,Laravel 5.8,Composite Key,我被困在一张有复合钥匙的桌子里。我试图使用雄辩的方法通过两个主键过滤记录。但我知道Elount不支持复合键。我已经经历了许多解决方案,但没有一个解决方案是足够清楚的初学者理解 解决方案代码表示使用以下代码编辑模型类: <?php class CustomerAddress extends Model { protected function setKeysForSaveQuery(Builder $query) { $query -&
<?php
class CustomerAddress extends Model {
protected function setKeysForSaveQuery(Builder $query)
{
$query
->where('Customer_No', '=', $this->getAttribute('Customer_No'))
->where('Address_Name', '=', $this->getAttribute('Address_Name'));
return $query;
}
}
另外,请指导我如何使用带有主键的资源控制器,因为它会为一些参数抛出错误?
请帮帮我。读了很多在线文章,我真的筋疲力尽,但无法解决问题。正如我看到的,您找到的解决方案代码只用于更新,不用于查找。Laravel在迁移中支持复合密钥,但在雄辩中不支持 也许更好,使用这样简单的解决方案,不要浪费时间:
CoursesMarksScheme::where(['clo_id' => $clo_id, 'sem_course_id' => $sem_course_id])
->update($request);
我想在CourseSmarkscheme模型中,$filleble变量中有必要的字段。您是否尝试用代码更新您的模型?这给了我一个错误,函数的两个参数,如何处理?我正在使用laravel资源控制器!有没有其他方法可以同时获得这两个键值?正如我看到的,您收到了错误,因为这门课程MarksCheme::find($clo_id,$sem_course_id)。试试我的解决方案。在雄辩的主键中应该提到什么?
CoursesMarksScheme::where(['clo_id' => $clo_id, 'sem_course_id' => $sem_course_id])
->update($request);