Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/68.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 5 SQL关系_Php_Sql_Laravel_Laravel 5 - Fatal编程技术网

Php Laravel 5 SQL关系

Php Laravel 5 SQL关系,php,sql,laravel,laravel-5,Php,Sql,Laravel,Laravel 5,我对Laravel中的查询有一些问题。 我想在服务器表中按列创建一个筛选器查询,但我不知道如何做到这一点 需要帮助来修改以下行: $data = $video->files()->with('server')->get(); 型号:服务器 public function files() { return $this->hasMany('App\Models\File', 'id', 'server_id'); } 型号:文件 public function s

我对Laravel中的查询有一些问题。 我想在服务器表中按列创建一个筛选器查询,但我不知道如何做到这一点

需要帮助来修改以下行:

$data = $video->files()->with('server')->get();
型号:服务器

public function files()
{
    return $this->hasMany('App\Models\File', 'id', 'server_id');
}
型号:文件

public function server()
{
    return $this->belongsTo('App\Models\Server', 'server_id', 'id')->ordered();
}
我当前的查询返回以下内容: (但它返回了所有,我只需要返回type=6的文件,这是服务器表)我不需要;我不知道怎么做。在下面的屏幕上,有关类型服务器的数据位于#关系数组上

使用
WhereHas
。将关系名称和闭包作为参数,您可以使用关系定义类似子查询的功能

$data = $video->files()->with('server')->whereHas('server', function ($query) 
{
    $query->where('type', '6');
})->get();

嘿,请清除您的表关系,因为它太混乱而无法理解。试图从服务器表中获取关系时,是否对视频表启动查询?这没有道理。视频表和服务器表之间的关系是什么?视频包含有关名称、大小和视图的数据。一个视频可以在几个服务器上,因此在文件表I中,文件存储在哪些服务器上。服务器有关于服务器的数据,因为不仅仅是一个检查现在第一篇文章。我添加了新的img。