标签: laravel-blade

Laravel 5 Blade 无法在 CentOS 7 上运行

我尝试在运行 Apache/PHP 5.6/MariaDB 的 CentOS 7 上安装一个新的 laravel 项目。

/var/www

composer create-project laravel/laravel devil
chmod -R 777 devil/storage
chmod -R 777 devil/vendor
Run Code Online (Sandbox Code Playgroud)

当我尝试从浏览器访问它时,刀片扩展似乎不起作用。它一直显示空白页,没有任何错误。

我检查了我的 Chrome Web 开发人员扩展上显示 500(内部服务器错误)的 HTTP 响应。

仅当我根本不使用刀片模板(不使用 .blade.php 扩展名和刀片语法)时,该应用程序才能工作。

下面是文件夹结构

drwxr-xr-x. 10 adzar adzar   4096 Mar 25 04:06 app
-rwxr-xr-x.  1 adzar adzar   1635 Mar 25 04:06 artisan
drwxr-xr-x.  2 adzar adzar     39 Mar 25 04:06 bootstrap
-rw-r--r--.  1 adzar adzar    788 Mar 25 04:06 composer.json
-rw-r--r--.  1 adzar adzar 100509 Mar 25 04:06 …
Run Code Online (Sandbox Code Playgroud)

php laravel laravel-5 laravel-blade

1
推荐指数
1
解决办法
1735
查看次数

Laravel - 嵌套刀片回声

我在标题部分的样式表参考内部使用刀片回显。这是为了指定站点皮肤的 CSS。

原来的行是:

<link href="{{ asset("/dist/css/skins/skin-default.min.css"}}" rel="stylesheet" type="text/css\" />
Run Code Online (Sandbox Code Playgroud)

我正在获取每个用户的皮肤设置,并希望将其插入该行以更改用户想要的皮肤。我已将设置从视图服务提供者中拉出到变量中。

$view->with('visualSkin', Auth::user()->visualSkin);
Run Code Online (Sandbox Code Playgroud)

这样,当所有视图都渲染时,我就设置了 $visualSkin 。

如果用户没有设置,如何将其插入到上面的 asset href 中并将其默认为设置?

我可以通过执行以下操作来调用该变量或设置默认值:

{{ $visualSkin or "skin-default" }}
Run Code Online (Sandbox Code Playgroud)

但是,如何将该部分内联到我的 asset href 中?像这样的东西不起作用:

<link href="{{ asset("/dist/css/skins/{{ $visualSkin or "skin-red-trim" }}.min.css"}}" rel="stylesheet" type="text/css\" />
Run Code Online (Sandbox Code Playgroud)

我也尝试过一些 php 技巧,但由于将其插入 php echo 时是刀片格式,因此刀片进程不会渲染它。

你能嵌套刀刃回声吗?
我错过了一些逃跑的角色吗?

php laravel laravel-blade

1
推荐指数
1
解决办法
1281
查看次数

在 Laravel 的输入标签中显示当前的本地日期时间

我想在 html.blade.php 文件中以日期时间本地格式填充当前日期时间的输入标记。我想用这样的东西:

<input type="datetime-local"
       autocomplete="on"
       id="created_date"
       name="created_date"
       class="form-control"
       value="{{currentDateTime()}}" >
Run Code Online (Sandbox Code Playgroud)

php laravel-5 laravel-blade

1
推荐指数
1
解决办法
4831
查看次数

Laravel:如何使用 Request::path() 检查动态 url

我试图显示一个基于 url 的搜索框,意味着对于特定路线,它将显示搜索框,否则不会显示。为此我使用了Request::path(). 但问题是对于某些路线它不起作用。假设我有两条路线,例如

Route::get('products','abcontroller@index');
Route::get('product/{name}','abcontroller@searchProduct');
Run Code Online (Sandbox Code Playgroud)

现在如果我使用以下代码:

@if(Request::path() == 'products' || Request::path() == 'product/{name}')
  // something print
@endif
Run Code Online (Sandbox Code Playgroud)

对于products路线,我可以看到搜索框,但product/{name}我看不到..我该如何解决这个问题?

php laravel laravel-5 laravel-blade

1
推荐指数
1
解决办法
1926
查看次数

在 Laravel 中查看 Blade 时检查发送到数据库的查询数量

我有一个收藏。

$items = Item:where('count' , '>' , 5)->get();
Run Code Online (Sandbox Code Playgroud)

我有一组 id。

$ids = [2 , 4 , 7 , 8];
Run Code Online (Sandbox Code Playgroud)

在我的 Laravel 刀片中,我想根据 ids 数组在 $items 上显示每个。我做了这样的事情:

@foreach($ids as $id)
    <a href="#">
        {{ $items->where('id' ,$id)->first()->name }}
    </a>
@endforeach
Run Code Online (Sandbox Code Playgroud)

它工作得很好。问题是,我向数据库发送了多少查询?以下是否在运行新查询?

$items->where('id' ,$id)->first()->name
Run Code Online (Sandbox Code Playgroud)

因为我已经get()从数据库中的项目。另一个问题是,如何在显示视图/刀片时找出有多少查询被发送到数据库?

sql database laravel eloquent laravel-blade

1
推荐指数
1
解决办法
1451
查看次数

如何在 Laravel - Blade 中 textarea 的 value 属性中使用变量?

我有以下刀片文件。我传入了一个带有标题和描述的项目对象,我想填充值属性。description 变量在 p-tag 中起作用,但在 textarea-tag 中不起作用。$title 变量也可以正常工作。为什么它在 textarea 中不起作用?

@extends('layout')

@section('content')

    <h1 class="display-4">Edit Project</h1>


    <p>{{ $project->description }}</p>


    <form>

      <div class="form-group">
        <label for="title">Title</label>
        <input type="text" class="form-control" name="title" placeholder="Title" value="{{ $project->title }}">
      </div>

      <div class="form-group">
        <label for="description">Description</label>
        <textarea type="text" class="form-control" name="description" value="{{ $project->description }}"></textarea>
      </div>


      <button type="submit" class="btn btn-primary">Update Project</button>
    </form>
@endsection
Run Code Online (Sandbox Code Playgroud)

php variables textarea laravel laravel-blade

1
推荐指数
1
解决办法
2573
查看次数

Laravel/VueJS - 刀片内的多个组件无法正常工作

正如标题所说的那样,我仍然会指导您重现该问题。详情如下。

重现步骤

  1. Github克隆 Laravel 官方项目
  2. 安装 PHP 和 JavaScript (Node) 的所有依赖项
    • npm install - 对于节点
    • composer install - 用于 php

安装所有依赖项后

  1. 打开resources/views/welcome.blade.php并编辑为下面的代码

    <!DOCTYPE html>
    <html lang="en">
    
    <head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Mix</title>
    
    <link rel="stylesheet" href="{{ mix('css/app.css') }}">
    </head>
    
    <body>
    
    <div id="app">
      <h1>Hello, world!</h1>
    
      <example-component />
      <camel-case-component />
    </div>
    
    <script src="{{ mix('js/app.js') }}"></script>
    
    </body>
    
    </html>
    
    Run Code Online (Sandbox Code Playgroud)
  2. 打开resources/js/app.js并编辑为下面的代码

    require('./bootstrap');
    
    window.Vue = require('vue');
    
    Vue.component('camel-case-component', require('./components/CamelCaseComponent.vue').default);
    Vue.component('example-component', require('./components/ExampleComponent.vue').default);
    
    const app = new Vue({
        el: …
    Run Code Online (Sandbox Code Playgroud)

laravel vue.js laravel-blade vue-component

1
推荐指数
2
解决办法
1944
查看次数

How to pass two different ID's in a route laravel?

I have a simple app, I need to pass two different ID's id and code_id in a route, here is my solution I have tried so far

view

  <a href="{{ route('settings.code', $settings->id,  $settings->code_id) }}">{{ __('Code') }}</a>
Run Code Online (Sandbox Code Playgroud)

Here is route config

    Route::get('settings/code/{id}/{code_id}', ['as' => 'settings.code', 'uses' => 'SettingController@code']);
Run Code Online (Sandbox Code Playgroud)

Here is my function in a controller

 public function code($code_id, $id)
     {   
         $settings = Setting::find($code_id, $id);


          dd($settings);


         return view('pages.settings.code', compact('settings'));

     }
Run Code Online (Sandbox Code Playgroud)

Here is the error I get

Missing required parameters for [Route: settings.code] …
Run Code Online (Sandbox Code Playgroud)

php laravel laravel-blade

1
推荐指数
1
解决办法
148
查看次数

json_encode($list, 15) - 什么是 15?

我注意到,laravel 刀片@json($list)指令(https://laravel.com/docs/7.x/blade

正在转换为

<?php echo json_encode($list, 15, 512) ?>
Run Code Online (Sandbox Code Playgroud)

什么是15

我在可用选项中没有看到此选项

选项位掩码包括JSON_FORCE_OBJECT,JSON_HEX_QUOT,JSON_HEX_TAG,JSON_HEX_AMP,JSON_HEX_APOS,JSON_INVALID_UTF8_IGNORE,JSON_INVALID_UTF8_SUBSTITUTE,JSON_NUMERIC_CHECK,JSON_PARTIAL_OUTPUT_ON_ERROR,JSON_PRESERVE_ZERO_FRACTION,JSON_PRETTY_PRINT,JSON_UNESCAPED_LINE_TERMINATORS,JSON_UNESCAPED_SLASHES,JSON_UNESCAPED_UNICODE,JSON_THROW_ON_ERROR的。

PS您可以尝试解码更多这样的指令

{{ '@json($list)'}}
Run Code Online (Sandbox Code Playgroud)

php json laravel laravel-blade

1
推荐指数
1
解决办法
56
查看次数

发送电子邮件时 Laravel 8 刀片模板中的“未定义变量”

在我的 Laravel 8 项目中,我尝试发送 HTML 电子邮件,但Undefined variable出现错误。

我的控制器中有此代码:

// here the $client has a model value
Mail::to($client)->send(new ClientCreated($client));
Run Code Online (Sandbox Code Playgroud)

在我的app/Mail/ClientCreated.php文件中:

<?php

namespace App\Mail;

use App\Client;
use Illuminate\Bus\Queueable;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;

class ClientCreated extends Mailable
{
    use Queueable, SerializesModels;

    private $client;

    /**
     * Create a new message instance.
     *
     * @return void
     */
    public function __construct(Client $client)
    {
        $this->client = $client;
    }

    /**
     * Build the message.
     *
     * @return $this
     */
    public function build()
    {
        // …
Run Code Online (Sandbox Code Playgroud)

php laravel laravel-blade

1
推荐指数
2
解决办法
1631
查看次数