我遇到了Laravel 4路由问题.我正在尝试创建两组路线:
domain.com/meetings/aa, al-anon, etc.
domain.com/meetings/day/sun, mon, tue, etc.
Run Code Online (Sandbox Code Playgroud)
这是我在路线文件中指定的内容:
Route::resource('meetings/day/{dayName}', 'Meetings_DayController');
Route::resource('meetings/{fellowshipName}', 'Meetings_MeetingController');
Run Code Online (Sandbox Code Playgroud)
我需要能够将变量传递给我的资源控制器.但无论我把路线放在哪个顺序,我都会遇到这种错误:
Route pattern "/meetings/fellowship/{fellowshipName}/{{fellowshipName}}" cannot
reference variable name "fellowshipName" more than once.
Run Code Online (Sandbox Code Playgroud)
不仅如此,这两条路线还会导致其他未申报的路线出现同样的错误.我的404路线由于某种原因没有启动.想法,有人吗?我已经尝试了所有我能想到的东西.如果我可以将三个字母的字符串与日控制器路由匹配,那就行了,但我无法弄清楚Laravel中三个字母字符串的正则表达式. \w{3}不起作用.
每次我尝试上传文件时都会收到错误"打开文件写入失败".我在Mac上运行OS X Lion.有谁知道如何解决此错误.我无法在网上找到任何修复方法.谢谢.
我有一个从数据库返回的JSON对象.格式正确.我试图通过AJAX调用访问其中的数据.这是我的AJAX.
$.ajax({
url: '<?php echo site_url('find_representatives/find_rep_by_address/get_coordinates'); ?>',
dataType: 'json',
data: '',
success: function(data, status, xhr) {
alert(data);
},
error: function(xhr, status, error) {
alert(status);
}
});
Run Code Online (Sandbox Code Playgroud)
我在我的数据中,因为我正在寻找所有数据.我尝试将'id'放在那里(我的JSON对象中有一个ID,但是当我这样做时,该函数停止工作.当我提醒'数据'时,我得到一个对象,但我提醒'data.id'我得到'未定义.'我做错了什么?这是我的第一个AJAX调用.该URL有效.我查了一下.
我正在尝试将Laravel 4连接到SQL Server数据库.我收到错误,但我认为这是一个PHP错误,而不是Laravel错误.它说PDOException: could not find driver.我将驱动程序设置为文件中的sqlsrv另一个示例database.php.就像我说的,我认为这是一个PHP错误,而不是Laravel.
我在Mac上的本地主机上.我需要在php.ini文件中配置一些东西吗?我发现另一篇文章说我需要在PDO下注释掉MySQL驱动程序.我也找不到那条线php.ini.但无论如何我也需要连接到MySQL数据库.我需要在php.ini文件中更改什么?
我找到了这一行:
pdo_mysql.cache_size = 2000
但是在重新启动Apache之后,评论它什么都没做.
我在Laravel 4项目中创建了一个授权系统.我正在尝试使用auth"之前"过滤器.
在我的routes.php档案中,我有:
Route::get('viewer', array('before' => 'auth', function() {
return View::make('lead_viewer');
}));
Route::get('login', 'LoginController');
Run Code Online (Sandbox Code Playgroud)
before过滤器在filters.php文件中调用此行:
Route::filter('auth', function()
{
if (Auth::guest()) return Redirect::route('login');
});
Run Code Online (Sandbox Code Playgroud)
我可以手动导航到我的登录路线.但是auth系统并没有让这种情况发生.我跑composer dump-autoload了几次,所以这不是问题.我在做什么,因为如果我手动执行,我实际上可以加载登录页面?
我正在尝试上传以清除上传队列以及删除上传的文件.问题是这个.如果我上传了5个文件(uploadLimit5个设置),则会第一次上传.但如果我使用这个清除队列:
<a class="button" href="javascript:jQuery('#attachment').uploadify('cancel', '*');">Clear Upload Queue</a>
它从屏幕上直观地删除文件,但我仍然无法上传任何更多的文件.我试过用:
jQuery('#attachment').uploadify('settings', 'uploadLimit', 5)在onQueueClear但它没有重置uploadLimit.uploadLimit队列清除后如何重置?这是我的代码:
jQuery('#attachment').uploadify({
swf: '/javascript/uploadify/uploadify.swf',
uploader: '/javascript/uploadify/uploadify.php',
uploadFolder: 'temp',
uploadTime: UPLOAD_TIME,
uploadToken: UPLOAD_TOKEN,
cancelImage: '/javascript/uploadify/cancel.png',
fileTypeExts: '*.jpg; *.gif; *.png; *.jpeg; *.doc; *.docx; *.zip; *.pdf; *.xls; *.xlsx; *.JPG',
fileTypeDesc: 'Allowed Files',
auto: true,
multi: true,
removeCompleted: false,
simUploadLimit: 1,
fileSizeLimit: '3MB',
allowedFiles: '*.jpg; *.gif; *.png; *.jpeg; *.doc; *.docx; *.zip; *.pdf; *.xls; *.xlsx; *.JPG',
// allowedFiles: '*.cdt;*.con;*.doc;*.docx;*.dxd;*.gif;*.jpg;*.jpeg;*.key;*.lab;*.mov;*.mp4;*.m4v;*.pdf;*.png;*.pps;*.ppt;*.pptx;*.rst;*.txt;*.wmv;*.xls;*.xlsx;*.zip',
uploadLimit: 5,
width: 210,
height: 40,
buttonText: …Run Code Online (Sandbox Code Playgroud) 我对输出缓冲如何与PHP头函数一起工作感到困惑.
这是我的代码:
session_start();
header('P3P:CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"');
require_once ($_SERVER['DOCUMENT_ROOT'] . '/classes/database.php');
require_once ($_SERVER['DOCUMENT_ROOT'] . '/classes/functions.php');
$db = new Database();
$db->open_connection(); // to database
$query = 'SELECT * FROM english WHERE id = ' . mysql_real_escape_string($_GET['dealerID']);
$result = mysql_query($query) or die(mysql_error());
$row = mysql_fetch_array($result);
ob_start();
ob_flush();
header('http://www.domain.com/channel-partners/en/index.php?dealerID=' . $row['id'] . '&location=' . $row['location_url'] . '&name=' . $row['name_url']);
ob_end_flush();
Run Code Online (Sandbox Code Playgroud)
这不起作用.我收到"已发送标头"错误.我知道在调用header命令之前我没有任何输出,但我想如果我使用ob_start()我可以在调用命令之前输出.显然我错了,但我不知道如何纠正这个代码,以便我可以将session_start()放在需要的地方,打开与我的数据库的连接,然后调用重定向.有人可以帮忙吗?谢谢.
我试图在PHP中使用XMLWriter类来生成XML.我在CodeIgniter工作.当我尝试输出XML时,我收到此错误(HTTP包装器不支持可写连接).它是什么意思,我需要做些什么来解决它?我在这里使用这个课程:http://www.phpbuilder.com/board/showthread.php?t = 10356853.
我是 Google 地方信息的新手,不知道我的设置是否正确。这是我的测试代码:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://maps.googleapis.com/maps/api/place/search/json");
curl_setopt($ch, CURLOPT_POSTFIELDS, "location=45.508867,-73.554242&accuracy=500&sensor=false&key=(api key)");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$result = curl_exec($ch);
Run Code Online (Sandbox Code Playgroud)
但我回来了:
{
"html_attributions" : [],
"results" : [],
"status" : "REQUEST_DENIED"
}
Run Code Online (Sandbox Code Playgroud)
我在控制台中激活了 Google 地方信息,并从控制台获取了 API 密钥。我在这里做错了什么?
我正在尝试使用Laravel 4中的where子句构建对我的数据库的调用.听起来很简单,但我收到一个没有意义的错误.此通话有效:
return MainContact::all();
Run Code Online (Sandbox Code Playgroud)
当我查看该页面时,我得到了我的数据的JSON表示,包含了我所有的数据,就像你期望的那样.它包括:
... "flag":1 ...
Run Code Online (Sandbox Code Playgroud)
所以当我尝试这样做时,正如Laravel文档中所解释的那样:
return MainContact::where('flag', '=', '1');
Run Code Online (Sandbox Code Playgroud)
你会认为它会起作用,但事实并非如此.我已经尝试将数字作为字符串和整数,并且都不起作用.我收到此错误:
ErrorException: Catchable Fatal Error: Object of class
Illuminate\Database\Eloquent\Builder could not be converted to string in
/Users/universal/Sites/universalLaser/leads/vendor/symfony/http-foundation/Symfony/
Component/HttpFoundation/Response.php line 351
Run Code Online (Sandbox Code Playgroud)
Laravel 4中的where子句有什么变化吗?或者我不明白怎么做?