Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/263.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用Laravel Eloquent更新具有复合键的表_Php_Laravel_Eloquent_Laravel 5.8_Composite Key - Fatal编程技术网

Php 使用Laravel Eloquent更新具有复合键的表

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 -&

我被困在一张有复合钥匙的桌子里。我试图使用雄辩的方法通过两个主键过滤记录。但我知道Elount不支持复合键。我已经经历了许多解决方案,但没有一个解决方案是足够清楚的初学者理解

解决方案代码表示使用以下代码编辑模型类:

<?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);