20200403のlaravelに関する記事は3件です。

Laravelのページネーションについて

Laravelのページネーションについてまとめました。

   public function index()
   {
      $tweets = Tweet::all()->paginate(30);
     //30個ごとのtweetが表示される。
      return view('tweets.index', ['tweets' => $tweets);
   } 

コントローラーはこれだけで、

{{ $tweets->links() }}

ビューファイルにはこれを書けば簡単いにページネーションができます。

スクリーンショット 2020-04-03 22.08.28.png

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Windows+Docker+Laravelでの開発時に「There is no existing directory at "C:\........\storage\logs" and its not buildable: No such file or directory」が出る時の対処

環境

Windows10 pro
Docker for Windows
Laravel 7.x
ローカルのDockerでphp、nginxのコンテナを立てています。

状況

/config/logging.phpの設定を変えた後、反映させるためにWindows側のコマンドプロンプトで「php artisan config:cache」を打ったら急に出るようになりました。
ネットで情報を探すと再度キャッシュを消すと直る等ありましたが、直らず..。

解決した方法

Docker側phpのコンテナにCliで入り、そっちの方で上記コマンドを打つと解消されました。
しっかりと原因特定まではできてませんが、Windows側でやるとパスの解決がWindows仕様になってしまうとかですかね。

余談

解決後、Log::debug(storage_path());でログに吐いたら正しいパスはこうなってました。

[2020-04-03 09:58:48] local.DEBUG: /var/www/APP_NAME/storage
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Azure App ServiceでLaravelアプリのDocument rootでハマった件

背景

Azureを練習しようとGithubに上げている簡単なLaravelアプリをデプロイしようと試みる。
とりあえずApp ServiceでPHPの環境を作成し、デプロイセンターからGithubよりデプロイ。

問題発生

標準でDocument rootが/home/site/wwwrootになっているため、ソースをデプロイしてもうまくアクセスできず。(/home/site/wwwroot/publicを見てほしい)
Ubuntu環境のApacheで動いていることが分かったため、/etc/apache2/sites-available/にある000-default.confやdefault-ssl.confを見て「$APACHE_DOCUMENT_ROOT」を変えてみようとAzureのコンソール画面から『設定>構成>アプリケーション設定』で環境変数を設定してみるも、これも効かず。(SSHで入って環境変数↑をechoしてみると変更はちゃんと効いていたのに...)

解決した方法

正攻法か分かりませんが、Laravelアプリのソースに「.htaccess」置いて回避しました。
Nginx+php-fpmの方に慣れていたのでこの方法に行きつくまでかなりかかりました...。

<IfModule mod_rewrite.c>
RewriteEngine on

RewriteRule ^.*$ /public/$1 [NC,L,QSA]
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む