是否可以在您自己的工具中使用内置的Laravel Nova确认对话框?我想要使用的只是与Nova相互作用的方式.
关于JS主题的文档非常清楚,因为您似乎能够使用的唯一内置UI是烘焙插件:https://nova.laravel.com/docs/1.0/customization/frontend.html#javascript
假设我有一个名为"Resource_test"的资源.当我在Nova中显示该资源时,该资源名称(或"标签")显示名称as-is,显然不是非常用户友好.
是否可以将"标签"重命名为"资源测试"(例如,没有下划线)?
看起来他们src\Nova.php在静态函数的文件中设置了名称,resourceInformation但即使我在那里更改了名称,它似乎也没有改变网站本身的名称......
我正在构建一个使用 Laravel Nova 管理资源的系统。
在某些情况下,我希望非管理员用户能够创建资源。理想的解决方案是在 Nova 中定义资源并将 Nova 自己的create表单嵌入到站点的前端。
有没有人做过类似的事情,或者对如何解决这个问题有任何建议?
如何在 Laravel Nova 的选择字段中设置默认值?
Select::make('Car')->options([
'mercedes' => 'Mercedes',
'audi' => 'Audi',
'bmw' => 'BMW',
]),
Run Code Online (Sandbox Code Playgroud)
https://nova.laravel.com/docs/3.0/resources/fields.html#select-field
在此示例中,我希望这mercedes是默认值。
我想从我的Laravel Nova应用程序中删除仪表板。
我发现很容易将其从侧边栏菜单中删除 - 只需注释/views/dashboard/navigation.blade.php代码即可。
但是,我想添加重定向逻辑(登陆页面取决于用户角色),因此当导航到/用户时将被重定向到与他相对应的资源或工具。
(我已经在登录后实现了重定向(/sf/answers/3804158641/)
我尝试用卡片来做到这一点,但看起来这不是正确的解决方案。
知道我可以在哪里放置重定向逻辑吗?
目前我正在尝试为laravel nova编写功能测试,断言页面已正确加载并且可以看到数据.
然而,当我编写测试时,我无法找到一种方法来断言由于laravel nova的数据产生的方式显示正确的文本.其中我无法测试页面是否正确加载laravel nova的404页面作为200响应,当不存在的资源页面加载时.
有没有人找到一个特色测试新星的好方法?
嗨,我正在使用laravel nova创建管理面板。我正在尝试使用Date Field。
这是我的迁移,
$table->date('day')->nullable();
Run Code Online (Sandbox Code Playgroud)
这是我的 nova 资源,
public function fields(Request $request)
{
return [
ID::make()->sortable(),
Date::make(__('Day'), 'day'),
];
}
Run Code Online (Sandbox Code Playgroud)
这是我的模型
class Menu extends Model
{
use HasTranslations;
public $translatable = ['name','description'];
protected $fillable = [
'name','description','typology', 'cost', 'day', 'active', 'buffet'
];
Run Code Online (Sandbox Code Playgroud)
这是我的错误,
在 Eloquent 模型中,日期字段必须转换为“日期”。
我需要在资源中做任何事情吗?
我有用户和位置之间的多对多关系。我想过滤我的“附加用户”选择列表以仅显示company_id与company_id我当前所在位置匹配的用户。我创建了一个静态函数relatableUsers,它在查询中添加了一个“where”子句。
public static function relatableUsers(NovaRequest $request, $query)
{
return $query->where('company_id', ???);
}
Run Code Online (Sandbox Code Playgroud)
如何将当前位置拉company_id入此 where 查询中?如果我company_id在过滤器下方进行硬编码,那么我知道这是可能的。
public static function relatableUsers(NovaRequest $request, $query)
{
return $query->where('company_id', 'FA624E60-DD37-11E8-A540-C3C0A709EE15');
}
Run Code Online (Sandbox Code Playgroud)
记录信息不存储在$request或 中$query。
编辑 - 添加关系
用户模型:
public function company()
{
return $this->belongsTo(Company::class);
}
public function locations()
{
return $this->belongstoMany(Location::class);
}
Run Code Online (Sandbox Code Playgroud)
定位模型:
public function company()
{
return $this->belongsTo(Company::class);
}
public function users()
{
return $this->belongstoMany(User::class);
}
Run Code Online (Sandbox Code Playgroud)
公司型号关系:
public function users()
{ …Run Code Online (Sandbox Code Playgroud) 据我所知,要引用 Nova 字段,您可以在字段函数中使用 $this 对象。
所以我有这段代码,我的问题是这些值是空的,不应该:
即使我的索引页显示了带有值的origin_coordinates 和destination_coordinates 字段。
您知道为什么“测量”字段为空吗?这是基于我提到的字段。
谢谢,
BelongsTo::make('Warehouse')
->withoutTrashed()
->rules('required')
->sortable(),
BelongsTo::make('Customer')
->withoutTrashed()
->rules('required')
->sortable(),
BelongsToDependency::make('Consignee')
->dependsOn('customer', 'customer_id'),
Text::make('origin_coordinates', function() {
return $this->warehouse->longitude . ','. $this->warehouse->latitude;
}),
Text::make('destination_coordinates', function() {
return $this->consignee->longitude . ',' . $this->consignee->latitude;
}),
RouteMeasures::make('Measures') <---- Here is my problems this value is empty and should not
->route(
$this->origin_coordinates,
$this->destination_coordinates,
env('MAPBOX_ACCESS_TOKEN')
),
Run Code Online (Sandbox Code Playgroud) 我在 Nova 中创建了一个新工具,我必须访问我的 laravel api,而/routes/api.php不是nova-components/component-name/routes/api.php
我的 Vue 组件中的代码如下所示:
getCertificateTypes() {
Nova.request().get('/api/certificate-type')
.then(response => {
// my code
});
},
Run Code Online (Sandbox Code Playgroud)
这将返回 401 Unauthorized
这是我到目前为止所尝试的:
将此代码添加到创建的工具的 ServiceProvider 中的routes()函数中
Route::middleware(['nova', Authorize::class])
->prefix('laravel')
->group(__DIR__.'/../../../routes/api.php');
Run Code Online (Sandbox Code Playgroud)
现在,如果我打电话,Nova.request().get('/laravel/api/certificate-type')我会收到 404 未找到。
我在这里缺少什么?