问题
我有一个类似于下面的多维数组.我想要实现的是一种从数组中查找和检索具有最高"Total"值的方法,现在我知道有一个被调用的函数,max但这不适用于像这样的多维数组.
我想做的是创建一个foreach循环并构建一个只包含总数的新数组,然后使用max查找最大值,这将起作用,唯一的问题是将检索与其相关的其余数据最大值.我不确定这是最有效的方式.
有任何想法吗?
Array
(
[0] => Array
(
[Key1] => Key1
[Total] => 13
)
[1] => Array
(
[Key2] => Key2
[Total] => 117
)
[2] => Array
(
[Key3] => Key3
[Total] => 39
)
)
Run Code Online (Sandbox Code Playgroud) 我正在使用Laravel 4框架,我正试图找出一种方法来显示通知,具体取决于是否save()成功.这是我到目前为止所拥有的:
if($user->save()) {
Session::flash('success','woohoo success');
} else {
Session::flash('error','uhoh error');
}
return Redirect::action('UsersController@show', array('users' => $id));
Run Code Online (Sandbox Code Playgroud)
我的问题是,即使没有对数据库进行任何更改,它总是在保存用户时返回true(我从updated_at时间戳中知道这一点).有没有办法检测是否实际使用Laravel进行了任何更改?
我正在尝试使用mt_rand()创建一个函数,以便生成一个真正的随机数,因为rand()只是不够.
问题是我需要预先定义数字的长度,比如我需要一个10位数的随机数.
无论如何,我一直在搞乱,这就是我想出来的:
function randomNumber($length) {
$min = str_repeat(0, $length-1) . 1;
$max = str_repeat(9, $length);
return mt_rand($min, $max);
}
Run Code Online (Sandbox Code Playgroud)
在理论上应该工作(据我所知),但事实并非如此.长度是完全随机的,它也抛出负值.
有任何想法吗?
我有以下代码,以便当用户选择一个输入框时,该值将消失,但一旦用户单击它,将重新插入默认值.
$(function() {
var defaultText = '';
$('input[id=input]').focus(function() {
defaultText = $(this).val();
$(this).val('');
});
$('input[id=input]').blur(function() {
$(this).val(defaultText);
});
});
Run Code Online (Sandbox Code Playgroud)
但是,这并不是我想要的.如果用户插入文本,我不希望默认文本覆盖用户放置的内容.我也是jQuery的新手,所以任何帮助都会非常感激.
我有两个表:categories和videos,然后有一个数据透视表,因为这是一个belongsToMany关系。
我想做的是将所有视频都归类为多个类别之一,而不是单个视频实例。
例如
我想获取不在类别2或3中的视频,这意味着它将返回视频3。
到目前为止,我一直在尝试,但并没有得到预期的结果,这是因为仍在视频1和2中找到了另一行,因为它们位于类别1中:
Video::whereHas('categories', function($query) {
$query->whereNotIn('category_id', [2,3]);
})->take(25)->get();
Run Code Online (Sandbox Code Playgroud)
从中填充的查询是:
select * from `videos` where exists (select * from `categories` inner join
`category_video` on `categories`.`id` = `category_video`.`category_id` where
`videos`.`id` = `category_video`.`video_id` and `category_id` != ? and
`category_id` != ? and `categories`.`deleted_at` is null) and `videos`.`deleted_at`
is null order by `created_at` desc limit 25
Run Code Online (Sandbox Code Playgroud) 在购物车页面上有以下foreach循环:
foreach($this->getItems() as $_item) {
}
Run Code Online (Sandbox Code Playgroud)
我需要获取这些项目的产品选项,我尝试了一些方法,但我无法检索到我需要的结果.
我试过了:
foreach($this->getItems() as $_item) {
print_r($_item->getProductOptions());
}
Run Code Online (Sandbox Code Playgroud)
和:
foreach($this->getItems() as $_item) {
print_r($_item->getOptionList());
}
Run Code Online (Sandbox Code Playgroud)
我还可以使用其他功能吗?
我最近在网站上更新了一些管理系统,使用了JS版本来使用TinyMCE 4.我刚刚发现了一个只出现在IE11中的错误,如下所示:
当Textarea加载时,它包含已发布的html数据,但是在分裂秒之后TinyMCE需要触发,Textarea中的所有内容都被隐藏 - 而TinyMCE只是空的.
它似乎适用于所有其他浏览器,包括其他版本的Internet Explorer.有没有其他人有这个问题并知道解决方案?
干杯
我正在使用 Laravel 和 Composer 来构建一个 Web 应用程序。
在我的本地机器上,我在 composer.json 文件中设置了它的要求,一切正常。
我正在使用 Github 推送到生产服务器,但是,然后我运行composer install并为我的一个包添加提供者和别名,然后我收到一条错误消息,指出尚未找到服务提供者。
然后我继续检查 vendor 文件夹,其中包含该包的目录,但在此目录中它缺少所有文件/文件夹,例如 composer.json、src 目录等。
为什么这些没有被下载的任何想法?其他包的 src 目录很好,比如 symfony、laravel,但不是我按要求设置的包。
我正在使用的包是artdarek/oauth-4-laravel,在我的本地机器上它下载得很好,包括 src 目录等。
哦,我正在使用 Laravel 的 Forge 部署到 Digital Ocean 的云服务器。
{
"name": "laravel/laravel",
"description": "The Laravel Framework.",
"keywords": ["framework", "laravel"],
"license": "MIT",
"require": {
"laravel/framework": "4.2.*",
"artdarek/oauth-4-laravel": "dev-master"
},
"autoload": {
"classmap": [
"app/commands",
"app/controllers",
"app/models",
"app/database/migrations",
"app/database/seeds",
"app/tests/TestCase.php"
],
"psr-4": {
"Karl\\": "app/Karl"
}
},
"scripts": {
"post-install-cmd": [
"php artisan …Run Code Online (Sandbox Code Playgroud) 我正在使用Github将我的站点部署到我的生产服务器.因此,我不想存储.env.*.php文件,所以它们都在我的.gitignore中.
在每个环境目录中,我设置了要使用的数据库配置getenv(),例如:
<?php
'connections' => array(
'mysql' => array(
'driver' => 'mysql',
'host' => getenv('DB_HOST'),
'database' => getenv('DB_NAME'),
'username' => getenv('DB_USERNAME'),
'password' => getenv('DB_PASSWORD'),
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
),
),
);
Run Code Online (Sandbox Code Playgroud)
然后我进入了我的虚拟主机的apache conf文件并设置环境变量,如下所示:
SetEnv DB_HOST ***.***.***.***
SetEnv DB_NAME database
SetEnv DB_USERNAME databaseuser
SetEnv DB_PASSWORD databasepass
Run Code Online (Sandbox Code Playgroud)
这一切都在生产服务器上完美运行.
但是,我只是手动导入数据库而不是使用,php artisan migrate因为它不起作用.
我知道它不起作用,因为它没有达到apache所以变量没有设置,但我尝试了很多方法来试图解决这个问题,但我还没有运气.
我试过强迫环境看看它是否可以通过使用来获取变量 php artisan --env=production migrate
我还尝试通过运行检查它是否正在使用正确的环境,php artisan env并且它正在使用正确的生产环境.
我的下一个想法是在生产服务器上手动创建.env.production.php文件.我创建了一个并使用了getenv(),以防它像这样工作,但发生了同样的错误,所以我尝试手动设置变量而不使用getenv(),我仍然没有运气.
任何想法将不胜感激.
我想知道是否有一种方法可以将环境变量(或类似变量)与if语句一起使用,以打开和关闭某些内容,例如display_errors,modpagespeed。
因此,例如:
SetEnv DISPLAY_ERRORS on
<If "DISPLAY_ERRORS == on">
php_flag display_errors on
</If>
<If "DISPLAY_ERRORS == off">
php_flag display_errors off
</If>
Run Code Online (Sandbox Code Playgroud)
我已经花了很长时间寻找这种东西,但是我无法发现任何能做到这一点的东西。这有可能吗?
我正在寻找一种使用PHP编辑htaccess的简便方法,但是与其将块写入htaccess,还不如直接将“ on”和“ off”值更改为更容易,并且也更容易将其显示为单选按钮在我的应用程序中。