小编Did*_*olo的帖子

Laravel 4/5搜索表格如

我有一个搜索表单和功能,都完成了.只是问一下,是否可以在Eloquent中执行这样的查询:

SELECT * FROM players WHERE name LIKE '%".$name."%'
Run Code Online (Sandbox Code Playgroud)

显示一些可能的匹配名称.我目前的控制器功能:

    public function search()
{
    $name = Input::get('character');
    $searchResult = Player::where('name', '=', $name)->paginate(1);
    return View::make('search.search')
            ->with('name', $name)
            ->with('searchResult', $searchResult);
}
Run Code Online (Sandbox Code Playgroud)

我的观点是:

    <form id="custom-search-form" class="form-search form-horizontal pull-right" action="{{ URL::action('CharactersController@search') }}" method="get">
    <div class="input-append spancustom">
        <input type="text" class="search-query" name="character" placeholder="Character/guild name">
        <button type="submit" class="btn"><i class="icon-search"></i></button>
    </div>
</form>
Run Code Online (Sandbox Code Playgroud)

提前致谢.

php laravel laravel-4 laravel-5

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

雄辩的chunk()缺少了一半的结果

我对Laravel的ORM Eloquent chunk()方法有疑问.它错过了一些结果.这是一个测试查询:

$destinataires = Destinataire::where('statut', '<', 3)
    ->where('tokenized_at', '<', $date_active)
    ->chunk($this->chunk, function ($destinataires) {
        foreach($destinataires as $destinataire) {
            $this->i++;
        }
    }
echo $this->i;
Run Code Online (Sandbox Code Playgroud)

它给出124838结果.

但是:

$num_dest = Destinataire::where('statut', '<', 3)
    ->where('tokenized_at', '<', $date_active)
    ->count();
echo $num_dest;
Run Code Online (Sandbox Code Playgroud)

得到249676,所以只有TWICE作为第一个代码示例.

我的脚本应该编辑数据库中的所有匹配记录.如果我多次启动它,它每次只分发剩余记录的一半.

我尝试使用DB :: table()而不是Model.我试图添加 - > take(20000),但似乎没有考虑到.我用 - > toSql()回显了查询,并且eveything似乎没问题(当我添加 - > take()参数时添加了LIMIT子句).

有什么建议 ?

php laravel eloquent laravel-5

15
推荐指数
3
解决办法
4728
查看次数

使用静态json文件作为源的jQuery UI自动完成

我正在使用jquery-ui-autocomplete(实际上,一个catcomplete附加到搜索框).只要我使用静态定义的项目数组作为源,它就可以很好地工作.

出于性能原因,我不希望自动完成功能将Ajax请求发送到PHP脚本,这样就可以向MySQL发送%like请求.所以,我从DB生成了一个JSON文件,其中包含了搜索中可以匹配的每个项目(大约20-30项,来自许多sql表).当页面加载或用户开始在搜索框中输入时,我只想读取/解析文件一次.

我被困在这里 我试图将Ajax调用附加到.catcomplete()(下面的代码).我还尝试进行getJSON调用并在其success()方法中创建.catcomplete. 两种方式都无声地失败.

我是JS/jQuery的新手,我已经喜欢它了,但我有点失落.任何有用的doc的帮助/解决方案/指针都将非常感激.

非常感谢你!

这是HTML :(真正的简单)

<form id="searchform" method="get" role="search">
    <input id="searchfield" />
    <input type="submit" name="go" value="go!" />
</form>
Run Code Online (Sandbox Code Playgroud)

这是我的JS代码:

$( "#searchfield" ).catcomplete({
delay: 0,
source: function( request, response ) {
    $.ajax({
        url: "/path/to/cache.json",
        dataType: "json",
        data: {term: request.term},
        success: function(data) {
            response($.map(data, function(item) {
                return {
                    label: item.label,
                    category: item.category,
                    desc: item.desc
                };
            }));
        }
    });
},
minlength:0
});
Run Code Online (Sandbox Code Playgroud)

示例JSON数据:

[
{ label: "lbl1", category: "cat1", desc: "desc1"}, …
Run Code Online (Sandbox Code Playgroud)

jquery json jquery-ui jquery-autocomplete

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

Laravel 5和Internet Explorer:Token Mismatch

我的Laravel5网站使用csrf令牌来防止CSRF攻击.在Chrome和Firefox上,eveything工作正常.

我提交了我的客户端网站进行测试,当他使用Internet Explorer(9/10)时,他使用令牌在evey页面上出现"Token mismatch"错误.

我认为这是一个cookie /会话问题.

经过一些研究,我尝试删除cookie名称中的斜杠("laravel_session"),并更改会话驱动程序(默认情况下为"file").它没有帮助.

我知道我的客户可以在IE中更改其"信任策略",但它是一个公共站点,这只是一个临时解决方案.

有什么奇怪的问题吗?

php internet-explorer csrf csrf-protection laravel-5

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

PHP的json_encode和JS的JSON.stringify

我正在使用PHP和Javascript来构建某种Web服务.我尝试验证从JS发送到PHP的post参数计算的令牌.假设代码如下:

JS:

token = JSON.stringify(params);
Run Code Online (Sandbox Code Playgroud)

PHP:

token = json_encode($_POST);
Run Code Online (Sandbox Code Playgroud)

有人可以解释一下为什么两个结果JSON字符串的长度不一样吗?

(我试图修改\n\r\tPHP,PHP中的stripslashes,几个JS库)字符串的PHP版本总是有更多的字符.

javascript php json

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

d3js v5:不知道如何使用 Observable notebooks

我正在尝试使用 D3.js v5 构建“堆叠标准化水平条形图”。

我找到了一个 Observable 笔记本,它显示了我需要的东西:https : //observablehq.com/@d3/stacked-normalized-horizo​​ntal-bar

我想在“经典”HTML 页面中显示这个确切的图表。

我不明白我该怎么做:我是否需要将示例的每一行(以相反的顺序)复制到一个 Javascript 文件中,然后将它嵌入到 HTML 页面中?

我的最终目标是创建一个 VueJs 2 组件来显示这种图表。

我有点迷茫,我真的很感激一些帮助开始......

javascript charts bar-chart d3.js

5
推荐指数
0
解决办法
553
查看次数