小编haa*_*kym的帖子

Laravel - 日期验证与规则集中的日期

我正在尝试使用after验证规则验证两个日期以确保一个日期大于另一个日期.我的规则设置如下:

$rules = array(
 'date_from' => 'required|date_format:"d/m/Y"', 
 'date_to'   => 'required|date_format:"d/m/Y"|after:date_from',
 // more rules ...
);
Run Code Online (Sandbox Code Playgroud)

当使用以下值时: date_from="01/06/2014"和date_to="01/06/2014"或date_to="2014年6月12日"一切都是笨拙的,但是..使用12以上的任何一天失败,即date_to=" date_to13/06/2014" to ="31/06/2014"

我也尝试了这个,它给出了相同的结果:

$dateFromForm = Input::get('date_from');

$rules = array(
 'date_from'  => 'required|date_format:"d/m/Y"', 
 'date_to'    => 'required|date_format:"d/m/Y"|after:' . $dateFromForm,
);
Run Code Online (Sandbox Code Playgroud)

很明显,我正在读这个月的日子,任何想法我在这里做错了什么?

谢谢

validation laravel laravel-4

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

Laravel - Model :: create或Model-> save()上的数组到字符串转换错误

我正在执行一个简单的插入,我已经做了很多次没有任何问题,并且由于一些奇怪的原因,它不起作用,我收到此错误消息:

error: {type: "ErrorException", message: "Array to string conversion",…}
file: "C:\wamp\www\studentreg2\vendor\laravel\framework\src\Illuminate\Database\Grammar.php"
  line: 33
  message: "Array to string conversion"
  type: "ErrorException"
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

$advisorCheck = AdvisorCheck::create([
            'status'         => Input::get('status'),
            'application_id' => Input::get('id'),
            'user_id'        => Auth::id()
        ]);
Run Code Online (Sandbox Code Playgroud)

AdvisorCheck模型使用的advisor_check表的迁移似乎很好,所有外键都是无符号的并且在phpmyadmin中正确显示关系,Input :: get中的所有值都是字符串,模型将正确的字段设置为fillable(status,application_id , 用户身份).

我甚至试过这样做php artisan tinker:

AdvisorCheck::create([ 'status' => 'returned', 'application_id' => '3', 'user_id' => '4']);
Run Code Online (Sandbox Code Playgroud)

我得到这个回应:数组到字符串转换

我也试过这个方法并得到同样的错误:

$advisorCheck                 = new AdvisorCheck;
$advisorCheck->status         = Input::get('status');
$advisorCheck->application_id = Input::get('id');
$advisorCheck->user_id        = Auth::id();
$advisorCheck->save();
Run Code Online (Sandbox Code Playgroud)

型号代码:

<?php

class AdvisorCheck extends \Eloquent {

    protected $fillable = …
Run Code Online (Sandbox Code Playgroud)

php laravel eloquent

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

Fuelux datepicker如何初始化它?

我正在尝试使用fuelux datepicker,甚至无法正确初始化它!非常感激任何的帮助.我的基础是这里的例子:https://gist.github.com/vernak2539/9980566

页面标题:

<link href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css" rel="stylesheet">
<link href="//www.fuelcdn.com/fuelux/3.4.0/css/fuelux.min.css" rel="stylesheet">
Run Code Online (Sandbox Code Playgroud)

HTML:

<div class="fuelux">
  <div class="datepicker dropdown" id="myDatepicker">
    <div class="input-append">
        <div class="dropdown-menu"></div>
        <input type="text" class="span2" value="" data-toggle="dropdown">
        <button type="button" class="btn" data-toggle="dropdown">
        <i class="icon-calendar"></i></button>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

在我的JS之前:

<!-- jQuery -->
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.js"></script>
<!-- Include all compiled plugins (below), or include individual files as needed -->
<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
<script src="//www.fuelcdn.com/fuelux/3.4.0/js/fuelux.min.js"></script>
Run Code Online (Sandbox Code Playgroud)

JS:

$(document).ready(function(){
  $('#myDatepicker').datepicker();
});
Run Code Online (Sandbox Code Playgroud)

也尝试了一个小提琴,并认为这是足够的但它不起作用:http: //jsfiddle.net/z2rpos9g/

javascript jquery datepicker fuelux

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

使用.htaccess强制子域的SSL HTTPS

我有这个代码一般在网站上强制使用SSL:

RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Run Code Online (Sandbox Code Playgroud)

我从这里得到了什么

我希望它只适用于特定的子域.

例如,如果您要访问http://sub.domain.org它,则应重定向到https://sub.domain.org.

我有一种预感,我需要添加另一个RewriteCond,基本上说是被击中的域名是http://sub.domain.org,但我对如何编写此代码感到茫然.

我一直在寻找其他stackoverflow问题,例如:

强制域的HTTPS和WWW以及子域HTACESS的HTTPS

使用.htaccess和mod_rewrite强制SSL/https

和Apache文档:https://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewritecond

我有过这些尝试:

RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP_HOST} !^(reports\.)?uksacb\.org$ [NC]
RewriteRule ^.*$ https://%1%{REQUEST_URI} [R,L]
Run Code Online (Sandbox Code Playgroud)

在这个问题/答案中,有点颠倒了答案:

RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP_HOST} =reports.uksacb.org
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Run Code Online (Sandbox Code Playgroud)

但是我仍然没有理解如何正确地做到这一点.

如果有人能够向我解释我做错了什么,我需要做些什么才能做到正确,如何调试他们的重写条件和规则以确保它正常工作我会非常感激.有时我认为我的浏览器正在缓存我写的规则,我的不同尝试没有任何影响!

我的整个.htaccess看起来像这样:

选项-MultiViews

RewriteEngine On

# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule …
Run Code Online (Sandbox Code Playgroud)

php apache .htaccess mod-rewrite ssl

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

Laravel:会话在ajax请求过期后重定向到登录

如果我登录到我的Web应用程序,请等待会话终止,然后在Web应用程序中使用表单发送ajax请求,我将在控制台中显示以下错误:

Failed to load resource: the server responded with a status of 500 (Internal Server Error)

理想情况下,将发生重定向到登录页面或在触发ajax请求的表单下显示错误消息(即对用户有意义的内容)。可能值得注意的是,如果他们在表单上发生验证错误,我已经有客户端代码抛出错误以向用户显示错误消息。

我相信我有一个主意,该如何检查会话是否过期并向用户返回有用的信息,告诉他们登录,但是我不确定如何在全局范围内实现。因此,我想知道是否有可能从Laravel后端全局处理此问题,并且(或)我是否需要为每个ajax请求编写一些逻辑以捕获问题以显示错误消息客户端?

我正在使用Laravel和Javascript / JQuery。谢谢你的帮助!

javascript php ajax jquery laravel

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

是否可以编写for循环来将侦听器分配给具有相同函数的多个按钮,其中使用最终的int?

我正在编写一个Android应用程序,我在一个视图上有8个按钮,它们都具有相同的功能,所以我想使用for循环为每个按钮分配相同的功能,而不是写出8个单独的代码.但是,当我想在onClick函数中使用for循环中的计数器来帮助触发intent时,会出现一个问题,这里是代码:

//array of button ids
public int [] pickPlayers = { R.id.pick_player_1a, R.id.pick_player_2a, R.id.pick_player_3a, R.id.pick_player_4a, R.id.pick_player_1b, R.id.pick_player_2b, R.id.pick_player_3b, R.id.pick_player_4b};

//button to be used in for loop
public Button b;

//for loop to assign same functionality to buttons in pickPlayers array
for(int i = 0; i<pickPlayers.length; i++){
        b = (Button) findViewById(pickPlayers[i]);
        b.setOnClickListener(new Button.OnClickListener() {
            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                Intent getContactIntent = new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI);
                startActivityForResult(getContactIntent, i);
            }
        });
    };
Run Code Online (Sandbox Code Playgroud)

希望所有人都有意义,感谢任何可以提供帮助的人.:)

编辑:这是我得到的错误:不能引用在另一个方法中定义的内部类中的非final变量i

for循环在我的oncreate方法中,变量和按钮在外面

android for-loop onclick button android-intent

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

带有多个值的Laravel流利插入仅插入第一个值

我正在尝试运行一个播种器类:

<?php

use Illuminate\Database\Seeder;

class CourseTableSeeder extends Seeder {

    public function run()
    {
        DB::table('courses')->insert(
            ['name' => 'PhD'],
            ['name' => 'Master'],
            ['name' => 'Bachelor'],
            ['name' => 'Foundation'],
            ['name' => 'ESL']
        );
    }

}
Run Code Online (Sandbox Code Playgroud)

我执行以下命令:

art db:seed --class CourseTableSeeder
Run Code Online (Sandbox Code Playgroud)

我希望看到数据库中的五个值,但是,我只看到第一个“ phd”。

我尝试通过->toSql()在插入程序上运行来调试它,但我认为这是不可能的,并且由于插入程序最有可能返回布尔值,因此无法链接,因此我收到以下错误

[2018-07-23 15:35:45] local.ERROR: Call to a member function toSql() on boolean {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\FatalThrowableError(code: 0): Call to a member function toSql() on boolean at C:\\laragon\\www\
Run Code Online (Sandbox Code Playgroud)

eports \ database \ seeds \ CourseTableSeeder.php:15)

由于无法通过挖掘框架的源代码轻易地找出insert方法的工作方式,我开始怀疑是否DB::table('table_name')->insert()通过数组接受了多个插入,并且设法在框架的测试套件中找到了该示例,例如:

DB::table('posts_tags')->insert([
    ['post_id' => $post->id, …
Run Code Online (Sandbox Code Playgroud)

php laravel laravel-5.6

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

在 php 脚本中使用 ghostscript

将 Laravel 用于 Web 应用程序,我在其中使用https://github.com/clegginabox/pdf-merger合并 pdf 文件,并在尝试将两个 pdf 文件合并到一起超过 1.4 版时遇到以下错误:

Exception in pdf_parser.php line 133:

This document (C:\path-to-doc\file.pdf) probably uses a compression technique 
which is not supported by the free parser shipped with FPDI. 
(See https://www.setasign.com/fpdi-pdf-parser for more details)

in pdf_parser.php line 133
Run Code Online (Sandbox Code Playgroud)

我按照以下答案中的建议使用 ghostscript 将任何 1.4 以上的 pdf 转换为 1.4,以便合并工作。

FPDF 错误:此文档 (testcopy.pdf) 可能使用了 FPDI 附带的免费解析器不支持的压缩技术

我已经成功安装了 ghostscript 并将其添加到我的路径中。为了测试,我有一个名为 1.5 版的示例 pdf 文件,test.pdf我从 Windows 终端运行以下命令:

gswin64 -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dNOPAUSE -dQUIET -dBATCH -sOutputFile=new-file.pdf test-file.pdf

我得到了我的 …

php pdf shell-exec ghostscript

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

雄辩的模型事件被保存并创建,使用create时都会调用这两个事件?

关于使用Eloquent模型事件,我想知道模型事件如何响应方法调用,是否与特定事件(公共事件)有任何重叠,如果存在,如何处理此类事件的代码?

例如,如果我有一个要create()Model::create($array)后台调用的模型(即据我了解),则当我调用create()save()方法时,将如docs所示进行调用:

/**
 * Save a new model and return the instance.
 *
 * @param  array  $attributes
 * @return static
 */
public static function create(array $attributes = [])
{
    $model = new static($attributes);
    $model->save();
    return $model;
}
Run Code Online (Sandbox Code Playgroud)

因此请牢记这一点,如果我希望为and 事件提供相同的行为,那么我会为事件简单地创建一个事件,而不必担心该事件,因为该方法是该方法的包装(如上所示) )。所以我可以这样做:saved()created()saved()created()create()save()

public static function boot()
{
    parent::boot();

    // covers created and saved events, as create() method triggers save()
    static::saved(function($model) {
        // …
Run Code Online (Sandbox Code Playgroud)

php events laravel eloquent

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

读取 PDF 文件并获取其尺寸以验证其大小 PHP

我正在向现有 Web 应用程序添加一项新功能,该功能将验证上传的 PDF 文件的大小以确保其不小于 A4。Web 应用程序是使用 PHP/Laravel 构建的。

\n

我考虑了两种方法来解决这个问题:

\n
    \n
  1. 通过 php exec 使用 GhostScript 读取上传的文件并获取其尺寸 - 我还无法使这种方法发挥作用
  2. \n
  3. 使用 PHP PDF 库读取上传的文件并获取其尺寸(例如 fdpi/fpdf) - 我有一些工作(我认为!)
  4. \n
\n

至于 Ghostscript,我在 SO 上找到了这个答案,建议使用一个名为的附加脚本pdf_info.ps(我确实按照评论建议首先下载了这个脚本)。但是,我无法让它正常工作。在将其添加到任何 PHP 脚本之前,我尝试运行以下命令:

\n
\xce\xbb .\\gswin64c -dNODISPLAY -q -sFile=c:\\test.pdf [-dDumpMediaSizes=false] [-dDumpFontsNeeded=false] [-dDumpXML] [-dDumpFontsUsed [-dShowEmbeddedFonts] ] ..\\toolbin\\pdf_info.ps\nError: /undefinedfilename in ([-dDumpMediaSizes=false])\nOperand stack:\n\nExecution stack:\n   %interp_exit   .runexec2   --nostringval--   --nostringval--   --nostringval--   2   %stopped_push   --nostringval--   --nostringval--   --nostringval--   false   1   %stopped_push\nDictionary stack:\n   --dict:1196/1684(ro)(G)--   --dict:0/20(G)--   --dict:78/200(L)--\nCurrent allocation mode is local\nLast …
Run Code Online (Sandbox Code Playgroud)

php pdf ghostscript fpdf fpdi

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