我正在使用最新版本的Laravel。
我有2个MySQL表,分别称为---
- hosts: live
remote_user: root
vars:
destination: /var/www/html/app.mytest.com/releases/{{ ansible_date_time.year }}{{ ansible_date_time.month }}{{ ansible_date_time.day }}{{ ansible_date_time.hour }}{{ ansible_date_time.minute }}{{ ansible_date_time.second }}
tasks:
- git:
repo: 'git@bitbucket:mytest/mytest.git'
dest: "{{ destination }}"
depth: 1
- name: copying .env file to remote host
copy:
src: /root/playbooks/resources/live/.env
dest: "{{ destination }}/"
- name: php artisan migrate
shell: "php {{ destination }}/artisan migrate"
- name: php artisan package:discover
shell: "php {{ destination }}/artisan package:discover"
- name: npm install
shell: "npm install"
- name: npm run dev
shell: "npm run dev"
- name: php artisan queue:restart
shell: "php {{ destination }}/artisan queue:restart"
- name: service supervisord restart
shell: "service supervisord restart"
- name: php artisan queue:flush
shell: "php {{ destination }}/artisan queue:flush"
...
和"authors"
。
我有2位作者,"articles"
和"John"
,"Sam"
有2条文章,John
有1条文章,文章有Sam
列,其中{ {1}}位作者。
为了显示"user_id"
及其ID
,我必须进行2次循环
Authors
如果您需要它,这是我的作者模型:
Articles
我主要是在询问是否有内置的方法来清洁此清洁器。
答案 0 :(得分:4)
是的,您可以执行以下操作:
@foreach($articles as $article)
{{$article->author->name}}
<h3>{{$article->name}}</h3>
@endforeach
要使其正常工作,您必须像这样在Article模型中声明相反的关系:
class Article extends Model
{
public function author(){
return $this->belongsTo("App\Author", "user_id");
}
}
答案 1 :(得分:1)
随着您有更多的作者和文章,此查询将变得非常昂贵且缓慢。我不确定您的UI如何显示作者和文章信息,但我会考虑考虑使用一个页面显示作者列表(但不显示他们的文章)。然后让每个作者都有一个详细页面。然后,您可以在“作者详细信息”页面中列出所有可以根据作者的ID进行查询的快捷高效的文章。这将帮助您的网站更整洁,查询效率更高。