Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/251.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/10.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 与复合键的雄辩关系_Php_Laravel_Eloquent - Fatal编程技术网

Php 与复合键的雄辩关系

Php 与复合键的雄辩关系,php,laravel,eloquent,Php,Laravel,Eloquent,我使用的是Eloquent,我成功地在laravel中设置了复合键,使用的特征如下所示: 但是,现在到处都出现以下错误: ErrorException in BelongsTo.php line 82: Array to string conversion (View: /home/www/app/resources/views/relatorios/show.blade.php) 我理解这是因为现在我的模型有一个复合主键: protected $primaryKey = array('cl

我使用的是Eloquent,我成功地在laravel中设置了复合键,使用的特征如下所示:

但是,现在到处都出现以下错误:

ErrorException in BelongsTo.php line 82:
Array to string conversion (View: /home/www/app/resources/views/relatorios/show.blade.php)
我理解这是因为现在我的模型有一个复合主键:

protected $primaryKey = array('cliente', 'id');
在我的关系中:

public function medico()
{
    return $this->belongsTo('App\Medico','medico');
}
所以这当然是错误的

我试图修改为:

public function medico()
{
    return $this->belongsTo('App\Medico',['medico','cliente'],['id','cliente']);;
}
但是没有成功


有什么想法吗?

因为这种特质是如何运作的,如果你想将Elounce的13条关系定义与这种特质结合使用,你必须重写它们。你不应该在laravel中使用复合键。你所指的特征不处理关系定义;在这种情况下,您可能希望通过组合两个关系的ID来“构建”实体ID,并将它们作为常规的
索引分开。由于该特性的工作原理,如果您希望将它们与此特性一起使用,您必须重新编写Eloquent的所有13个关系定义。你不应该在laravel中使用复合键。你所指的特征不处理关系定义;在这种情况下,您可能希望通过组合两个关系的ID来“构建”实体ID,并将它们作为常规
索引分开。