我有一个搜索表单和功能,都完成了.只是问一下,是否可以在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)
提前致谢.
我对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子句).
有什么建议 ?
我正在使用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) 我的Laravel5网站使用csrf令牌来防止CSRF攻击.在Chrome和Firefox上,eveything工作正常.
我提交了我的客户端网站进行测试,当他使用Internet Explorer(9/10)时,他使用令牌在evey页面上出现"Token mismatch"错误.
我认为这是一个cookie /会话问题.
经过一些研究,我尝试删除cookie名称中的斜杠("laravel_session"),并更改会话驱动程序(默认情况下为"file").它没有帮助.
我知道我的客户可以在IE中更改其"信任策略",但它是一个公共站点,这只是一个临时解决方案.
有什么奇怪的问题吗?
我正在使用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版本总是有更多的字符.
我正在尝试使用 D3.js v5 构建“堆叠标准化水平条形图”。
我找到了一个 Observable 笔记本,它显示了我需要的东西:https : //observablehq.com/@d3/stacked-normalized-horizontal-bar
我想在“经典”HTML 页面中显示这个确切的图表。
我不明白我该怎么做:我是否需要将示例的每一行(以相反的顺序)复制到一个 Javascript 文件中,然后将它嵌入到 HTML 页面中?
我的最终目标是创建一个 VueJs 2 组件来显示这种图表。
我有点迷茫,我真的很感激一些帮助开始......