第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

在 laravel 中顯示數(shù)據(jù)庫中的一張圖像

在 laravel 中顯示數(shù)據(jù)庫中的一張圖像

PHP
SMILET 2023-05-26 09:25:30
我在 Laravel 中有兩張桌子惹蘭斯jalan_images在一個(gè) id_jalan 中可以有很多圖像,我的關(guān)系是這樣的街頭模特// Model Jalanpublic function jalanImage(){    // return $this->hasMany('App\JalanImage', 'id_jalan');    return $this->hasMany(JalanImage::class, 'id_jalan');}public function firstImage(){    // return $this->hasOne('App\JalanImage', 'id_jalan');    return $this->hasOne(JalanImage::class, 'id_jalan');}模特街景// Model JalanImagepublic function jalan(){    // return $this->belongsTo('App\Jalan', 'id_jalan', 'id');    return $this->belongsTo(Jalan::class, 'id_jalan', 'id');}我想在我的控制器中顯示標(biāo)題、created_at 和每個(gè) id_jalan 中的第一張圖像等數(shù)據(jù),以顯示這樣的數(shù)據(jù)路徑控制器// JalanControllerpublic function jalan(){    $jalan  = Jalan::with('firstImage')->orderBy('created_at', 'DESC')->get();    return view('jalan.all', ['jalan' => $jalan]);    // dd($jalan->toArray());}在我看來,每個(gè) id_jalan 的第一張圖片沒有顯示,我的看法是這樣的葉片視圖@foreach($jalan as $row)   <div class="post-item clearfix">       <table border="0">          <tr>            <td width="170px">               <a href="#">                  <img src="{{ asset('uploads/jalan/' .$row->first_image) }}" alt="" class="img-fluid" width="150px"></td>               </a>               <td>                  <h4><a href="#">{{ $row->title }}</a></h4>                  <i class="icofont-wall-clock"></i> <time>{{ date('d F Y', strtotime($row->created_at)) }}</time>                   <p style="color: #F3591F">{{ $row->category }}</p>                </td>             </tr>           </table>         </div>  @endforeach當(dāng)我用dd($jalan->toArray());顯示它時(shí) 在我的控制器中,顯示了 first_image。如何解決?謝謝
查看完整描述

2 回答

?
肥皂起泡泡

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超6個(gè)贊

您應(yīng)該遵循 Laravel(尤其是 Eloquent)關(guān)于命名約定的建議和最佳實(shí)踐。這意味著你的gallery_images表應(yīng)該有g(shù)allery_id字段而不是你在那里的內(nèi)容。信不信由你,那樣你會(huì)跳過很多非受迫性錯(cuò)誤和問題。我將讓您回答我將如何代替您:


// \App\Gallery::class

class Gallery extends Model

{

    public function galleryImages()

    {

        return $this->hasMany(GalleryImage::class);

    }


    public function firstGalleryImage()

    {

        return $this->hasOne(GalleryImage::class);

    }

}


// \App\GalleryImage::class

class GalleryImage extends Model

{

    public function gallery()

    {

        return $this->belongsTo(Gallery::class);

    }

}

基本上,您可以根據(jù)需要在模型中設(shè)置返回特定關(guān)系的方法。在Gallery::class這里,您可以看到我已經(jīng)設(shè)置了一個(gè)關(guān)系,它將只返回該畫廊的第一張圖片。在控制器中你會(huì)調(diào)用它


public function someControllerMethod()

{

    $gallery = Gallery::with(['firstGalleryImage'])->first();

    // or

    $galleries = Gallery::with(['firstGalleryImage'])->get();

}

現(xiàn)在返回的對象$gallery或集合$galleries將只攜帶第一張圖像相關(guān)。在您的情況下(如果您不想更改字段名稱),您需要遵循有關(guān)如何將另一個(gè)模型的鍵設(shè)置為方法參數(shù)的文檔。


查看完整回答
反對 回復(fù) 2023-05-26
?
元芳怎么了

TA貢獻(xiàn)1798條經(jīng)驗(yàn) 獲得超7個(gè)贊

你可以使用 Laravel 的 Eloquent ORM(Eager Loading),這里是一個(gè)單一圖像(圖像)和多個(gè)圖像(媒體)關(guān)系的例子。


    public function media()

    {

        return $this->hasMany(Media::class, 'foreign_key', 'local_key');

    }


    public function defaultMedia()

    {

        return $this->hasOne(Media::class, 'foreign_key', 'local_key');


    public function image()

    {

        return $this->defaultMedia();

    }


查看完整回答
反對 回復(fù) 2023-05-26
  • 2 回答
  • 0 關(guān)注
  • 191 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號