首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从另一个模型的背面加载模型?

如何从另一个模型的背面加载模型?
EN

Stack Overflow用户
提问于 2017-03-15 23:12:07
回答 2查看 34关注 0票数 1

希望这能为我的问题增添一些背景。我有三个模特。

我的构建模型:

代码语言:javascript
复制
public function buildComment(){
    return $this->hasMany('App\buildComment');
}
public function buildQuestion(){
    return $this->belongsTo('App\buildQuestion');
}

我的buildQuestion模型:

代码语言:javascript
复制
public function build(){
        return $this->hasMany('App\Build');
    }

buildComments模型:

代码语言:javascript
复制
public function build(){
    return $this->belongsTo('App\Build');
}

这是我的控制器:

代码语言:javascript
复制
public function viewQuestion(buildQuestion $buildQuestion){
    $builds = Build::with('buildComment')->get();

    return view('pages.questionView',compact('buildQuestion', 'builds'));
}

以下是我的看法:

代码语言:javascript
复制
@foreach($buildQuestion->build as $build)
       <ul class="list-group">
           <li class="list-group-item clearfix active">Build suggestion by: {{$build->user->name}}</li>
            <li class="list-group-item clearfix">Processor: <a href="/parts/cpu/{{$build->processor->id}}">{{$build->processor->name}}</a></li>
            <li class="list-group-item clearfix">Graphics Card: <a href="/parts/gpu/{{$build->videoCard->id}}">{{$build->videoCard->name}}</a></li>
            <li class="list-group-item clearfix">RAM: <a href="/parts/memory/{{$build->memory->id}}">{{$build->memory->name}}</a></li>
            <li class="list-group-item clearfix">Motherboard: <a href="/parts/motherboard/{{$build->motherboard->id}}">{{$build->motherboard->name}}</a></li>
            <li class="list-group-item clearfix">Power Supply: <a href="/parts/power-supply/{{$build->powerSupply->id}}">{{$build->powerSupply->name}}</a></li>
            <li class="list-group-item clearfix">Storage: <a href="/parts/storage/{{$build->storage->id}}">{{$build->storage->name}}</a></li>
            <li class="list-group-item clearfix">Optical Drive: <a href="/parts/optical-drive/{{$build->opticalDrive->id}}">{{$build->opticalDrive->name}}</a></li>
            <li class="list-group-item clearfix"><strong>Build Total Price: £{{$build->processor->price + $build->videoCard->price + $build->memory->price + $build->motherboard->price + $build->powerSupply->price + $build->storage->price + $build->opticalDrive->price}}</strong></li>
        </ul>
        @foreach($build->buildComment as $comment)
        {{$comment->body}}
        @endforeach
        <form action="/build-comment/post/{{$build->id}}" method="POST">
            <div class="form-group">
                <label for="body">Comment </label>
                <textarea class="form-control"  name="body"></textarea>
            </div>
            <input type="hidden" name="_token" value="{{ csrf_token() }}">
            <button type="submit" class="btn btn-primary">Submit</button>
        </form>
        @endforeach

我正在尝试获取属于构建的注释。

buildQuestion有很多构建,构建有很多注释。

我如何表示这一点并检索构建的注释?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-03-15 23:33:22

您可以在一个查询中使用嵌套的热切加载来获取它们。

代码语言:javascript
复制
//one buildquestion with all the builds & comments
$buildQuestion = BuildQuestion::with('build.buildComment')->find(1); 

return view('pages.questionView',compact('buildQuestion'));

在你的视野中,嵌套你的前辈

代码语言:javascript
复制
@foreach($buildQuestion->build as $build)
    //display stuff

    @foreach($build->buildComment as $comment)
         {{ $comment->body}}
    @endforeach
@endforeach
票数 1
EN

Stack Overflow用户

发布于 2017-03-15 23:51:26

代码语言:javascript
复制
@foreach($buildQuestion->build as $build)
   <ul class="list-group">
       <li class="list-group-item clearfix active">Build suggestion by: {{$build->user->name}}</li>
        <li class="list-group-item clearfix">Processor: <a href="/parts/cpu/{{$build->processor->id}}">{{$build->processor->name}}</a></li>
        <li class="list-group-item clearfix">Graphics Card: <a href="/parts/gpu/{{$build->videoCard->id}}">{{$build->videoCard->name}}</a></li>
        <li class="list-group-item clearfix">RAM: <a href="/parts/memory/{{$build->memory->id}}">{{$build->memory->name}}</a></li>
        <li class="list-group-item clearfix">Motherboard: <a href="/parts/motherboard/{{$build->motherboard->id}}">{{$build->motherboard->name}}</a></li>
        <li class="list-group-item clearfix">Power Supply: <a href="/parts/power-supply/{{$build->powerSupply->id}}">{{$build->powerSupply->name}}</a></li>
        <li class="list-group-item clearfix">Storage: <a href="/parts/storage/{{$build->storage->id}}">{{$build->storage->name}}</a></li>
        <li class="list-group-item clearfix">Optical Drive: <a href="/parts/optical-drive/{{$build->opticalDrive->id}}">{{$build->opticalDrive->name}}</a></li>
        <li class="list-group-item clearfix"><strong>Build Total Price: £{{$build->processor->price + $build->videoCard->price + $build->memory->price + $build->motherboard->price + $build->powerSupply->price + $build->storage->price + $build->opticalDrive->price}}</strong></li>
    </ul>
    @foreach($build->buildComment as $comment)
    {{$comment->body}}
    @endforeach
    <form action="/build-comment/post/{{$build->id}}" method="POST">
        <div class="form-group">
            <label for="body">Comment </label>
            <textarea class="form-control"  name="body"></textarea>
        </div>
        <input type="hidden" name="_token" value="{{ csrf_token() }}">
        <button type="submit" class="btn btn-primary">Submit</button>
    </form>
    @endforeach

我在@EddyTheDove之后嵌套了另一个预言,建议进行这个更改,结果成功了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42822450

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档