我正在 Laravel 中构建一个小型应用程序,该应用程序有一个日期和时间输入,我用它来计算给定任务的价格。我已经成功计算了日期差异,现在我正在尝试获取两个选定时间(PM 和 AM 格式)之间的差异,但我被卡住了。\n我想要实现的是,当用户选择时间时如下例所示;我得到的时差以小时为单位,如果是3小时或更多小时,我会给予一定的处罚,请帮忙!
\n\n array:4 [\xe2\x96\xbc\n "pickup_date" => "2019-09-13"\n "pickup_time" => "11:37 AM"\n "dropoff_date" => "2019-09-14"\n "dropoff_time" => "10:37 PM"\n ]\nRun Code Online (Sandbox Code Playgroud)\n 我有 Laravel 6.0 和类似的东西,使用request()->all();助手在数据库上创建一个新行......
$input = request()->all();
Service::create($input);
Run Code Online (Sandbox Code Playgroud)
我想手动添加两个变量,这样我们就不需要用户手动添加它们。我尝试过这方面的变化......
$time = time();
$input = array_merge(request()->all(), ['serviceSite' => 'companyname', 'serviceOrderedTime' => $time]);
Service::create($input);
Run Code Online (Sandbox Code Playgroud)
有没有办法用request()助手来做到这一点,还是我必须使用替代方法?
我创建了一个自定义验证类,位于app\Http\Requests:
<?php
namespace App\Http\Requests;
use App\Http\Requests\BaseFormRequest;
class RegisterUserRequest extends BaseFormRequest
{
protected static $NEEDS_AUTHORIZATION = false;
protected static $FORM_RULES = [
'first_name' => 'required|string|max:80',
'last_name' => 'required|string|max:80',
'email' => 'required|unique:users|email',
'password' => 'required|string|min:6|confirmed',
'terms_conditions' => 'accepted'
];
}
Run Code Online (Sandbox Code Playgroud)
BaseFormRequest并在同一目录中扩展:
<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Validation\Validator;
use Illuminate\Validation\ValidationException;
use Illuminate\Http\Exceptions\HttpResponseException;
//use Illuminate\Http\Request;
abstract class BaseFormRequest extends FormRequest
{
protected static $NEEDS_AUTHORIZATION = true;
protected static $FORM_RULES = [];
protected static $ERROR_MESSAGES = [];
/**
* Determine if …Run Code Online (Sandbox Code Playgroud) 在关系方法上使用 withDefault() 会导致服务器错误问题。为什么会发生这种情况?有什么原因吗?我相信我在语法上是正确的。
class Product extends Model
{
protected $table = 'products';
public function category() {
return $this->hasOne('App\Model\Category', 'id', 'category_id');
}
public function images() {
return $this->hasMany('App\Model\ProductImage', 'product_id', 'id')->withDefault();
}
}
Run Code Online (Sandbox Code Playgroud)
如果不使用 withDefault() 方法,页面可以正常运行并显示图像,但使用此方法会触发服务器错误。
我的表单中有一个复选框,我想将其值保存到数据库中。当我选中它时,它的值将为 1,当我取消选中它时,它的值将为 0。但是,在控制器中,我NULL总是得到。但为什么?没有的话可以解决吗jQuery?
刀片/视图
<form action="{{ route('admin.categories.store') }}" method="POST" enctype="multipart/form-data">
@csrf
<div class="form-group>
<label>
<input type="checkbox" name="category_is_menu"
value="{{ old('category_is_menu', isset($category) ? 'checked' : '') }}"/>
</label>
</div>
<input class="btn btn-success" type="submit" value="Submit">
</form>
Run Code Online (Sandbox Code Playgroud)
控制器
public function store(Request $request)
{
$category = new Category();
$category->category_is_menu = $request->category_is_menu;
return $category;
}
Run Code Online (Sandbox Code Playgroud)
不幸的是,它给了NULL我category_is_menu。
我正在使用 AdminLTE 制作一个系统,我在其中放置了一个带有表格的页面,但屏幕损坏了,因为表格在水平方向上太大,我尝试了一切方法来更改 paga 布局以配合表格,但没有任何效果。
\n\n这是我损坏的页面:
\n\n\n\n这是我的代码(index.blade.css):
\n\n@extends(\'adminlte::page\')\n\n@section(\'title\', \'Clientes\')\n\n@section(\'content_header\')\n <h1>Clientes</h1>\n <link href="{{ asset(\'css/clients.css\') }}" rel="stylesheet">\n@endsection\n\n@section(\'adminlte_css\')\n <link rel="stylesheet" type="text/css" href="//cdn.datatables.net/1.10.12/css/dataTables.bootstrap.min.css">\n@stop\n\n@section(\'content\')\n\n\n<section class="content">\n <div id="tamanho" class="row">\n <div id="tamanho" class="col-12">\n\n <div id="tamanho" class="card">\n <div id="tamanho" class="card-header">\n <h3 class="card-title">Tabela de Clientes</h3>\n </div>\n <!-- /.card-header -->\n <div id="tamanho" class="card-body">\n <table id="example1 tabelinha" class="table table-bordered table-striped" >\n <thead>\n <tr>\n <th>ID</th>\n <th>Nome</th>\n <th>Tipo de Pessoa</th>\n <th>Pa\xc3\xads</th>\n <th>CEP</th>\n <th>Endere\xc3\xa7o</th>\n <th>Bairro</th>\n <th>Cidade</th>\n <th>UF</th>\n <th>Telefone</th>\n <th>Celular</th>\n <th>E-mail</th>\n <th>Empresa</th>\n <th>CPF_CNPJ</th>\n <th>Tipo de Cliente</th>\n <th>Onde nos encontrou</th>\n </tr>\n </thead>\n …Run Code Online (Sandbox Code Playgroud) 我从以下代码开始:
Mail::to('mail@gmail.com')->send(new ContactFormMail($email_data));
Run Code Online (Sandbox Code Playgroud)
这工作正常,但我不确定如何向此代码添加“回复”。
接下来我尝试的是:
Mail::send('emails.contact-form', $email_data, function ($message) {
$message->from('admin@laravel.com', 'Laravel');
$message->to('admin@laravel.com');
$message->replyTo('admin@laravel.com', 'Laravel');
});
Run Code Online (Sandbox Code Playgroud)
这有以下问题:
没有为 [mail] 定义提示路径...
在这种情况下,如果我从邮件视图中删除@component('mail::message'),消息将按其应有的方式发送,但没有样式。
最后,我的 Mailable 类中有这段代码:
public function build()
{
return $this->markdown('emails.contact-form');
}
Run Code Online (Sandbox Code Playgroud)
任何援助将不胜感激。
谢谢
我正在构建一个消息系统,在设置回复时通知对话中的每个用户。
消息通知.php
class MessageNotification extends Notification
{
use Queueable;
/**
* Get the notification's delivery channels.
*
* @param mixed $notifiable
* @return array
*/
public function via($notifiable)
{
return ['database'];
}
public function toArray($notifiable)
{
return [
'data' => 'Messenger notification'
];
}
}
Run Code Online (Sandbox Code Playgroud)
收件箱控制器
public function reply($hashedId, Request $request)
{
$this->validate($request, [
'body' => 'required',
]);
$conversation = Conversation::where('hashed_id', $hashedId)->first();
$users = $conversation->participants();
//dd($conversationUserIds);
$notifications = Notification::send($users, new MessageNotification());
$message = $conversation->messages()->create([
'sender_id' => auth()->user()->id,
'body' => $request->body, …Run Code Online (Sandbox Code Playgroud) 我使用了正确的代码,但我不知道为什么链接没有显示在视图上。我也尝试了很多解决方案,但没有任何效果。任何人都可以帮助我摆脱这个麻烦吗?
控制器
public function show_all(){
$all_records=DB::table('registrations')->paginate(3);
return view('Admin.view_doctor',['all'=>$all_records]);
}
Run Code Online (Sandbox Code Playgroud)
看法
<div class="style">
{{ $all->links() }}
</div>
Run Code Online (Sandbox Code Playgroud) 我的网络应用程序有大量作业,除了一个之外,所有作业都运行良好。
我需要这个特定的工作存活很长一段时间,整整一个小时,3600秒,如果超过时间就会失败,并且不要重试。
我试图在我的工作中设置这个属性
public $timeout = 3600;
public $retryAfter = 4000;
public $tries = 1;
Run Code Online (Sandbox Code Playgroud)
我发现失败后这个特定的作业永远不会重试,而且没关系。
但超时和/或 retryAfter 会被忽略。几分钟后,作业将被标记为失败。
我究竟做错了什么?另外,请问 timeout 和 retryAFtrer 有什么区别?!?
我的队列由主管管理,如下所示:
[program:projectname-worker]
process_name=%(program_name)s_%(process_num)02d
command=php /var/www/appdemo.projectname.com/artisan queue:work redis --sleep=3 --tries=3
autostart=true
autorestart=true
user=www-data
numprocs=1
redirect_stderr=true
stdout_logfile=/var/www/appdemo.projectname.com/storage/logs/laravel_worker.log
Run Code Online (Sandbox Code Playgroud)
这是 Lararavel 文档中建议的配置。
laravel-6 ×10
laravel ×9
php ×4
eloquent ×2
adminlte ×1
date ×1
jobs ×1
laravel-5.8 ×1
laravel-mail ×1
php-carbon ×1