如何将联接的数据包括在循环中

我正在刀片视图中显示一个列表,其中包含来自显示表的数据:名称,学校和IP。

学校在此表中另存为学校ID。

“学校”表包含ID和相关学校的列表。

我想使用学校表中的学校名称并将其显示在刀片​​视图中。

我可以分别获取这些数据。

这将从显示表中获取所有数据

$records = DB::table('display')->paginate(10);

这将从schools表中获取所有学校名称。

$schools = DB::table('schools')
   ->join('display','schools.id','=','display.school')  
   ->select('schools.name')
   ->get();

要显示显示表中的数据,我正在使用foreach循环。

@foreach ($records as $record)
{{ $record->name }}
{{ $record->school }}
{{ $record->ip }}
@endforeach

我不知道如何将学校名称插入当前$ record-> school出现的空间。 $ record-> school显示学校ID,但我想显示保存在school表中的学校名称。

显示模型

public function school()
    {
        return $this->belongsTo('App\School');
    }

学校模式

public function display()
    {
        return $this->hasMany('App\Display');
    }
bozipk 回答:如何将联接的数据包括在循环中

如果您有模型和雄辩的关系,则可以简单地使用它:

控制器

$records = Display::with('school')->paginate(10);

刀片视图

@foreach ($records as $record)
  {{ $record->name }}
  {{ $record->school->name }} <!-- school name via relation -->
  {{ $record->ip }}
@endforeach

展示模型

class Display extends Model
{
    public function school()
    {
        return $this->hasOne('App\School');
    }
}
,

您真的应该使用Eloquent,因为它使生活变得更加轻松。但是,使用DB时,您需要与下面类似的代码,在这些代码中要加入学校作为关系显示。

#include <algorithm> // reverse
#include <iostream> // cout
#include <locale> // locale,locale::global
#include <string> // string

void reverse(std::string& string)
{
    std::reverse(string.begin(),string.end());
}

int main()
{
    std::locale::global(std::locale(""));
    std::string sentence = "Pablito clavó un clavito que clavito clavó Pablito";
    reverse(sentence);
    std::cout << sentence << '\n';
    return 0;
}
本文链接:https://www.f2er.com/3150855.html

大家都在问