在controller中,將photo放到public目錄下,並將photo路徑存取至DB。
在blade裡使用DB儲存的路徑輸出圖片
無法顯示
懇請各位幫忙解惑,謝謝。
############################################################
<<更新>>
感謝各位的幫忙與建議~
是路徑問題沒錯。
$merchandise->photo在console中顯示為http://shop-laravel.local/1
推測為只捕捉到DB中的primaryKey。
原程式為
在網路上搜尋到此blade輸出寫法(已停在 Laravel 5.6 )
{{ isset($name) ? $name : 'Default' }}
{{ $name or default}}
將程式改為
即可正常顯示
補充
參考資料
https://learnku.com/laravel/t/9407/laravel-57-prospect-using-the-null-merge-operator-in-the-blade-template
https://www.w3schools.com/php7/php7_operators.asp
問個問題,
你的資料庫中是 images開頭,
但是預設圖片是 /assets/images開頭,
是兩個目錄不一樣嗎?
資料庫那個看起來是相對目錄,
你的目錄確定沒錯嗎?
先打開f12 console
看無法顯示時的情況
大概87%是 404 not found
或者是你在指定 image url 時
有 syntax error 的問題
直接在瀏覽器輸入圖片網址 排除 404 可能性
如果上面可以正常讀取的話
再檢查最後 render 到 img 的 src 是不是有問題
如果是 404 的話, node.js 都要另外設定 static folder
你可以去翻 document 檢查 laravel 是否有相關設定
其實,看到你說了「sources中沒有public folder」
就可以了解你對框架中的路由架構不了解。所以發生了路徑問題存在。
這個問題其實很難跟你說答案。因為這需要解釋到路由及rw規化的走向。解釋起來太多了。
建議你要用mvc架構的框架,先去了解一下路由的應用處理。
不要再處在以前的web path觀念上。