laravel-blade 相关问题

Blade是Laravel提供的简单而强大的模板引擎。与其他流行的PHP模板引擎不同,Blade不会限制您在视图中使用纯PHP代码。

此路由不支持 POST 方法。支持的方法:GET、HEAD.,但我只能使用 post 方法

这是我在blade文件中使用的代码: 这是我在 web.php 中使用的路线 路线::post("/addTo_cart",[ 这是我在刀片文件中使用的代码: <form action="addTo_cart" method="post"> 这是我在web.php中使用的路线 Route::post("/addTo_cart",[ProductController::class, 'addToCart']); 我得到了错误, 该路由不支持POST方法。支持的方法:GET、HEAD。 只需像这样初始化你的路线 Route::match(['get',post] , 'View-name' , 'Controller@function-name'); 你的路线应该是这样的 Route::match(['get','post'],"/addTo_cart",[ProductController::class, 'addToCart']); 首先,我建议您为路线添加一个名称,如下所示 Route::post("/addTo_cart",[ProductController::class, 'addToCart'])->name('cart.addToCart'); 之后,我将重写您表单的操作以使用您刚刚添加的路线名称 <form action="{{route('cart.addproduct')}}" method="post"> 另外,不要忘记您的 csrf 令牌。 “完成”的表格应该看起来像这样 <form action="{{route('cart.addproduct')}}" method="post"> @csrf <input name="exampleInput"> <button type="submit"> </form> 还要确保您接受控制器中的请求(示例) public function addToCart(Request $request) { dd($request); //dump the request on the page so you can have a look at it //more code }

回答 2 投票 0

Visual Studio Code - Blade 格式化所有白色文本?

最近我的刀片文件的 Visual Studio 代码工作区文本都是白色的,就像这样。 有谁知道为什么以及如何再次恢复颜色?

回答 3 投票 0

无法在 Laravel 11 中找到 api.php 路由文件

我正在尝试将 Laravel 11 与 React.js 集成,以便在两者之间进行数据检索和传输。但是,我在最新版本的 Laravel 中找不到 paths/api.php 文件。 我有

回答 1 投票 0

在我的刀片视图中使用 @if(Auth::user()) 与 @auth 相同吗?

我意识到我正在使用两种方法来防止未登录的人看到仅供会员使用的内容。第一个是使用@if(Auth::user()),第二个是使用@auth。对于

回答 2 投票 0

Laravel - 通过视图传递对象并在 Blade 中使用

基本上,我的数据库中有一个简单的“exp”列,我想使用一个函数“showLevel()”,我可以在其中传入 Auth::user->username 作为参数而不是静态名称。我很挣扎...

回答 4 投票 0

在 Laravel 11 中找不到 api.php

我想将Laravel 11与React.js链接来获取数据,并从React获取数据到Laravel,但在新的laravel版本中没有找到routes/api.php文件。 我尝试寻找一个拥有...

回答 1 投票 0

刀片组件中如何传递数组数据与@props合并?

laravel文档给出了一个例子,可以一一传递数据,但我想知道是否可以通过将数据数组传递到组件中来一次完成。 在示例中,它首先定义了@p...

回答 1 投票 0

“错误:阻止 CORS 策略 - 不存在‘Access-Control-Allow-Origin’标头”

我有问题=“从源“http://127.0.0.1:8000”访问“http://localhost:8000/admin/image-upload/”处的 XMLHttpRequest 已被 CORS 策略阻止:响应飞行前请求美国能源部...

回答 1 投票 0

Laravel 10 如何在视图中使用 links 方法进行分页关系?

我使用分页方法进行评论(这是图书模型的关系),但我无法使用链接方法在页面之间导航。 我的代码: 书::with([ '评论' => fn($query)=> $quer...

回答 1 投票 0

Laravel VS 代码扩展

所以我想知道是否有人知道这个提供多种选择的 Laravel 扩展的名称,如图所示 我试图找到它,但在扩展中找不到它,所以是的,如果

回答 1 投票 0

尝试禁用 vscode 新的父代码行但不能?

vscode 最近推出了新功能,但我现在不需要它,如何禁用它?

回答 1 投票 0

Laravel 9,未定义变量 $users

请帮助我,我是 Laravel 的新手。我正在尝试查看表中的数据,但它显示此错误。我已经尝试了不同的方法,但都没有成功,我使用 Laravel 9。 抱歉,如果这个...

回答 1 投票 0

检查两个数组之间的重复值。如果不重复,则显示标签更新[重复]

如果不重复显示标签更新,我想检查两个数组之间的重复值。 这就是我想要的结果。 这是我发来的信息。 “设施” => 数组:1 [▼ “游览

回答 1 投票 0

Laravel 通知将变量从模板传递到已发布的供应商模板

我一直在根据您从 php artisan 供应商那里获得的已发布文件构建邮件模板:publish --tag=laravel-notifications 我已经成功编辑了消息布局以包含权力...

回答 1 投票 0

不一致的顺风行为

我正在开发一个 livewire 项目,尝试应用一些顺风主题配置,但它根本没有意义。 这是我的 Tailwind 配置: 主题: { 延长: { 字体Fa...

回答 1 投票 0

在 Laravel 中包含指令路径

我正在尝试将 topnav.blade.php 文件包含在 IDE 中的 master.blade.php 中。 这显示了我的 laravel 应用程序的视图文件夹中的所有目录 错误消息是 [调试错误 ][1] 贝洛...

回答 1 投票 0

将 alpine js 变量附加到 laravel Blade 组件的属性

我正在尝试将 alpine JS 变量内的值附加到 Laravel Blade 组件的属性中 这是我的代码: 我正在尝试将 alpine JS 变量内的值附加到 Laravel Blade 组件的属性 这是我的代码: <template x-for="(field, index) in fields" :key="index"> <tr> <td x-text="index+1"></td> <td> <x-forms.input wire:model="journals.index.account" type="text"></x-forms.input> </td> <td> <x-forms.input wire:model="journals.index.amount" type="text"></x-forms.input> </td> <td><button type="button" class="btn btn-danger btn-small" @click="removeField(index)">&times;</button></td> </tr> </template> 这是我的高山代码: <script> function handler () { return { fields: [], addNewField() { this.fields.push({ txt1: '', txt2: '' }); }, removeField(index) { this.fields.splice(index, 1); } } } </script> 预期结果是将 alpine 的 index 变量附加到刀片线:模型属性,如下所示: <x-forms.input model="journals.**index**.account" type="text"></x-forms.input> 我怎样才能实现这个目标? 我认为 wire:model 在实例化 Alpine 对象之前进行评估。 我们可以使用 @entangle 来使用引用 Livewire 变量的 Alpine 变量,但从 Livewire 版本 3 开始,可以使用魔法属性 $wire 直接引用 Livewire 组件,我们可以使用它。 从您的示例中,Livewire journals 属性和 Alpine fields[] 属性之间的关系不是很清楚,我假设它们引用相同的数据,因此我将不使用 fields。 我还假设您的 addNewField 和 removeField() 将处理行,而不是字段(这有点神秘) Livewire 课程: <?php namespace App\Livewire; use Livewire\Component; class TheClass extends Component { // these are example data public $journals = [ ['account' => 'acc001', 'amount' => 10] , ['account' => 'acc002', 'amount' => 20] ]; } 景色: <div x-data="handler"> <table> <template x-for="(row, index) in $wire.journals" :key="row.rowKey"> <tr> <td x-text="index+1"></td> <td> <x-input x-model="$wire.journals[index].account" type="text"></x-input> </td> <td> <x-input x-model="$wire.journals[index].amount" type="text"></x-input> </td> <td><button type="button" class="btn btn-danger btn-small" @click="removeField(index)">&times;</button></td> </tr> </template> </table> <br> <button @click="addNewField()"> [ADD ROW] </button> <button @click="$wire.$refresh"> [REFRESH] </button> <br> <br> // the foreach is for debugging @foreach($journals as $row) @php($rowId = $row['rowKey'] ?? ' ') <div> {{ "($rowId) - ({$row['account']}) - ({$row['amount']})" }} </div> @endforeach <script> function handler () { return { lastKey: 0, init() { this.$wire.journals.forEach (el => {typeof el.rowKey == "undefined" && (el.rowKey = this.getKey())}); }, getKey() { return this.lastKey++; }, addNewRow() { this.$wire.journals.push ({ rowKey: this.getKey(), account: '', amount: '' }); }, removeRow(index) { this.$wire.journals.splice (index, 1); } } } </script> </div> 在 x-for 循环中,我通过 $wire 引用了 journals 属性。 我还向每一行添加了一个 "unique" 键(在 init() 和 addNewField() 方法中)用作 :key 因为当使用 splice() 删除一行时,索引被压缩,这可能会混淆 x-for。 我还插入了一个 @foreach 仅用于调试目的,通过单击 REFRESH 按钮,数据将发送到后端,组件也会相应更新,显示更改。

回答 1 投票 0

Laravel @include 指令路径

这显示了我的 laravel 应用程序的视图文件夹中的所有目录 我试图将 topnav.blade.php 文件包含在 master.blade.php 中。 以下是我在应用程序中使用的路径...

回答 1 投票 0

我不明白如何使用livewire属性验证返回值

这是我在前端看到的: 问题如下。我在 Livewire 中有一个表格: 这是我在前端看到的: 问题如下。我在 Livewire 中有一个表格: <div class="striped"> <div x-data="{showDeleteButton: false}" class="account-list grid"> <div class="card-item-name"> {{ $account->name }} </div> <div class="account-amount flex"> <span class="pt-1 mr-1">&euro;</span> <x-input wire:model.live="amount" type="text" @class(['border border-red-600' => $errors]) x-bind:class="parseFloat($wire.amount) < 0 ? 'text-red-600' : ''" class="text-right" /> @if($errors) {{ $errors }} @endif <div class="ml-1"> @include('components.balance.buttons.delete-button-account-item') </div> </div> </div> 从下面的截图中可以看出: @if($errors) {{ $errors }} @endif 显示为: {"amount":["Geef een getal op in euros gescheiden door een comma"]} 我如何在下面的行中使用这些信息?: @class(['border border-red-600' => $errors]) 如果验证失败,我想要一个红色边框。我的验证如下: public function updated($name, $value) { $this->validate([ 'amount' => ['required', new IsEuroAmount] ]); Account::find($this->account->id)->update([ 'amount' => Item::convertEurosToEuroCents($value) ]); $this->dispatch('account-updated'); } 这是我的自定义规则: namespace App\Rules; use Closure; use Illuminate\Contracts\Validation\ValidationRule; class IsEuroAmount implements ValidationRule { /** * Run the validation rule. * * @param \Closure(string): \Illuminate\Translation\PotentiallyTranslatedString $fail */ public function validate(string $attribute, mixed $value, Closure $fail): void { if (!preg_match('/^(-)?\d{1,6}(,\d{0,2})?$/', $value)) { $fail('Geef een getal op in euros gescheiden door een comma'); } } } 我尝试了 json_decode 但这会引发错误(数组到字符串转换) $errors->amount 也不起作用: $errors->amount->count() 也: @class(['border border-red-600' => 1]) 也: @class([ 'border' => 1, 'border-red-600' => 1]) 这可以工作,但在错误条件下不起作用(如果元素具有类属性,则 @class 不起作用): @class([ 'text-right','border' => 1, 'border-red-600' => 1]) 这对我有用: @class([ 'text-right','border' => $errors->count(), 'border-red-600' => $errors->count()]) 但在本例中只有 1 个字段,因此这可以工作,但不适用于多个字段 谁知道如何处理多个字段? 这是唯一好的答案: $errors->get('%field%') 因此我得到: @class([ 'ml-1.5','text-right','border' => $errors->get('amount'), 'border-red-600' => $errors->get('amount')])

回答 1 投票 0

Laravel LiveWire 不显示简单的全局变量

LiveWire 没有显示 Eloquent 模型;显然,它仅在将其包装在数组中时才有效。不过我一直都是这样使用的,从来没有出现过问题。 这是我的课: LiveWire no 正在显示 Eloquent 模型;显然,它仅在将其包装在数组中时才有效。不过我一直都是这么用的,从来没出过问题。 这是我的课: <?php namespace App\Http\Livewire\Revision; use App\Models\Docs\ReqBusinessBasicInfo; use Livewire\Component; class BussinessBasicInfoComponent extends Component { public $doc_schema; public $schema_container; public function mount(int $bussiness_id) { $this->doc_schema = ReqBusinessBasicInfo::find($bussiness_id); $this->schema_container = [ $this->doc_schema ]; } public function render() { return view('livewire.revision.bussiness-basic-infoo-component'); } } 这是我的刀片: <form> @csrf <x-text-input readonly disabled id="doc_schema.name" wire:model="doc_schema.name" /> <x-text-input readonly disabled id="schema_container.0.name" wire:model="schema_container.0.name" /> </form> 结果是这样的。一个有效,另一个无效。 请帮忙。 您在使用 Livewire 3 吗?因为那么您需要显式启用旧模型绑定,如文档中所解释的: 'legacy_model_binding' => true,

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.