我正在使用mikehaertl的OOP界面通过php使用wkhtmltpdf创建pdf.参考:http://mikehaertl.github.io/phpwkhtmltopdf/
这是我的代码:
<?php
require_once('../WkHtmlToPdf.php');
$pdf = new WkHtmlToPdf(array(
// Use `wkhtmltopdf-i386` or `wkhtmltopdf-amd64`
'bin' => 'C:\Users\me\Documents\EasyPHP-5.3.6.0\www\wkhtmltopdf\wkhtmltopdf.exe'
));
// Add a HTML file, a HTML string or a page from a URL
$pdf->addPage('page.html');
if(!$pdf->send())
throw new Exception('Could not create PDF: '.$pdf->getError());
Run Code Online (Sandbox Code Playgroud)
上面的代码生成pdf但它只创建纵向的所有文件.如何将其更改为横向?当我在网上搜索时,我发现wkhtlktopdf有一个选项(-O landscape)来改变方向,但我不知道如何使用Mikeheart创建的PHP WkHtmlToPdf?
我在我的用户表中添加了几个字段,我读到它的所有地方都说我还需要更新app/Services/Registrar.php文件中的新字段.但我无法在Services任何地方找到该文件夹!这是Laravel 5中的一个新安装,这是我的目录结构的屏幕截图:
服务文件夹怎么了?当我测试时,我可以看到它的User::create()作品,但我不知道它在哪里声明,因为我找不到Registrar.php文件.

我date()在 mysql 中有一个列,它具有 mysqlYYYY-MM-DD格式的出生日期:
$table->date('dob')->nullable();
Run Code Online (Sandbox Code Playgroud)
我正在尝试查询此表,以便它列出从今天到接下来 7 天生日的所有用户。我现在有这样的事情:
$date = new Carbon;
$today = $date->format('Y-m-d');
$futureDays = $date->addDays(7)->format('Y-m-d');
$birthdays = SiteUsers::where('dob', '>=', $today)
->where('dob', '<=', $futureDays)
->orderBy('dob', 'ASC')
->get();
Run Code Online (Sandbox Code Playgroud)
上述查询的问题在于,它只列出了具有今年确切日期的 DOB 用户,这是不正确的。我真正想要的是通过仅匹配“日期”和“月份”而忽略“年份”来列出生日的用户,而不管他们出生的年份。
我不知道如何实现这一目标。有人可以帮我吗?
我正在将我的应用程序从 Laravel 5.1 转换为 5.3。我不确定如何编辑CanResetPassword用户模型中的部分。
这是user.php我的 laravel 5.1 中的文件:
namespace App\Models;
use Illuminate\Auth\Authenticatable;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
use Illuminate\Auth\Passwords\CanResetPassword;
use Illuminate\Contracts\Auth\Authenticatable as AuthenticatableContract;
use Illuminate\Contracts\Auth\CanResetPassword as CanResetPasswordContract;
class User extends Model implements AuthenticatableContract, CanResetPasswordContract
{
use Authenticatable, SoftDeletes, CanResetPassword;
...
}
Run Code Online (Sandbox Code Playgroud)
现在,我不确定将其更改为 Laravel 5.3 时需要进行哪些编辑。
Laravel 5.3 用户模型是这样的:
namespace App\Models;
use Illuminate\Notifications\Notifiable;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Database\Eloquent\SoftDeletes;
class User extends Authenticatable
{
use Notifiable, SoftDeletes;
}
Run Code Online (Sandbox Code Playgroud)
当我阅读文档时,它说:
在使用 Laravel 的密码重置功能之前,您的用户必须使用 Illuminate\Notifications\Notifying 特征。
已经存在了。 …
我一直在阅读一些主题,但无法找到解决这个问题的方法.
我试图在ng-repeat内添加ng-model,如下所示:
<span ng-repeat="list in lists">
<input type="checkbox" ng-model="formData.checkboxes.{{ list.value }}"> {{ list.number }} {{ list.description }} <br/>
</span>
Run Code Online (Sandbox Code Playgroud)
列表值是这样的:
$scope.lists = [
{
value:'value1',
number: '1',
description:'Lorem ipsum dolor sit amet, consectetur adipiscing elit. ',
},
{
value:'value2',
number: '2',
description:'Lorem ipsum dolor sit amet, consectetur adipiscing elit. ',
},
{
value:'value3',
number: '3',
description:'Lorem ipsum dolor sit amet, consectetur adipiscing elit. ', },
];
Run Code Online (Sandbox Code Playgroud)
在ng-repeat循环中,我希望它构建一个像以下类似的ng模型formData.checkboxes.value1 formData.checkboxes.value2, formData.checkboxes.value3.
这可能吗?当我尝试上述方法时,没有显示出来.我在这做错了什么?
我正在测试这个Angular模块" Nervgh Angular File Upload "用于文件上传,到目前为止,我能够按照指令中给出的示例来实现它.这允许多次上传.虽然我阅读了我可以使用的属性和方法,但我仍然不知道如何限制允许上传的数量.例如,在我的表单中,我不想让用户上传超过3张照片.我怎样才能做到这一点?
ATM,我按照上面链接中给出的示例使用以下代码:
<!DOCTYPE html>
<html id="ng-app" ng-app="app"> <!-- id="ng-app" IE<8 -->
<head>
<title>Uploads only images (with canvas preview)</title>
<link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css" />
<!-- Fix for old browsers -->
<script src="../bower_components/es5-shim/es5-shim.js"></script>
<script src="http://code.jquery.com/jquery-1.8.3.min.js"></script>
<script src="//netdna.bootstrapcdn.com/bootstrap/3.0.0/js/bootstrap.min.js"></script>
<!--<script src="../bower_components/angular/angular.js"></script>-->
<script src="http://code.angularjs.org/1.1.5/angular.min.js"></script>
<script src="../../angular-file-upload.js"></script>
<script src="controllers.js"></script>
<script src="directives.js"></script>
<style>
.my-drop-zone { border: dotted 3px lightgray; }
.ng-file-over { border: dotted 3px red; } /* Default class applied to drop zones on over */
.another-file-over-class { border: dotted 3px green; …Run Code Online (Sandbox Code Playgroud) 我正在创建一个指令,该指令将带有文本类型输入的模板添加到视图。在此指令中,如果文本字段输入大于提供的最大长度设置,则尝试添加span类以进行错误通知。我有这样的代码:
<div ng-app="app">
<form name="userForm" ng-submit="processForm()" novalidate>
<div use-text-box name="xyz" ng-maxlength="10" required> </div>
<button type="submit" class="btn btn-success">Submit</button>
</form>
</div>
Run Code Online (Sandbox Code Playgroud)
我的指令是这样的:
var app = angular.module('app', []);
app.directive('useTextBox', function() {
return {
replace:true,
compile: function(element,attrs) {
var name = attrs.name;
var maxLengthError = attrs.hasOwnProperty('ngMaxlength') ? '<span ng-show="userForm.' + attrs.name + '.$error.maxlength" class="help-block">Text is too long. The limit is ' + attrs.ngMaxlength + ' characters.</span>' : '';
var htmlText = '<input type="text" name="' + name + '" ng-maxlength="' + attrs.ngMaxlength + '" required …Run Code Online (Sandbox Code Playgroud) validation angularjs angularjs-directive angularjs-scope ng-maxlength
我对 MySQL 相当陌生,所以如果这听起来像一个愚蠢的问题,我深表歉意。
当我学习 sql 安全性和防止 sql 注入时,我了解到在为这样的 id 获取结果时使用 bindparam 更好:
//Prepare Statement
$stmt = $mysqli->prepare("SELECT * FROM my_table WHERE id=?");
if ( false===$stmt ) {
die('prepare() failed: ' . htmlspecialchars($mysqli->error));
}
$rc = $stmt->bind_param("i", $id);
if ( false===$rc ) {
die('bind_param() failed: ' . htmlspecialchars($stmt->error));
}
$rc = $stmt->execute();
if ( false===$rc ) {
die('execute() failed: ' . htmlspecialchars($stmt->error));
}
// Get the data result from the query. You need to bind results for each column that is …Run Code Online (Sandbox Code Playgroud) 我正在尝试验证Laravel中从Angular Javascript发送数据的日期范围。
前端Angular使用moment.js发送日期范围,如下所示:
var endDate = moment();
var startDate = moment().subtract(29, 'days');
var apiDateRange = {
'startDate': startDate.format(),
'endDate': endDate.format()
};
Run Code Online (Sandbox Code Playgroud)
在控制台中,我可以看到日期是这样发布的:
endDate 2015-09-14T15:39:53+05:30
startDate 2015-08-16T15:39:53+05:30
Run Code Online (Sandbox Code Playgroud)
我正在尝试验证Laravel中的日期。通过阅读文档,我发现我需要为此使用date_format。但是我弄错了格式。这是我到目前为止尝试过的,显然是错误的:
$validator = Validator::make($postData, [
'startDate' => 'date_format:"Y-m-d H:i:s.u"|required'
'endDate' => 'date_format:"Y-m-d H:i:s.u"|required'
]);
// AND
$validator = Validator::make($postData, [
'startDate' => 'date_format:"Y-m-d\TH:i:s"|required',
'endDate' => 'date_format:"Y-m-d\TH:i:s"|required',
]);
Run Code Online (Sandbox Code Playgroud)
我阅读了php日期文档,date_format为此感到困惑。有人可以在这里帮我吗?
在Laravel 5.1with Cashier中~5.0,我曾经像这样获得该用户的Stipe客户详细信息:
$customer = $user->subscription()->getStripeCustomer();
在5.3使用Cashier 更新到Laravel之后~7.0,我将控制器中的上述行更改为:
$customer = $user->subscription('main')->getStripeCustomer();
自更新以来,我现在收到错误:
BadMethodCallException in Builder.php line 2440:
Call to undefined method Illuminate\Database\Query\Builder::getStripeCustomer()
Run Code Online (Sandbox Code Playgroud)
我怎样才能得到条纹的客户详细信息Laravel 5.3与Cashier ~7.0?
laravel stripe-payments laravel-5 laravel-cashier laravel-5.3
laravel ×5
angularjs ×4
laravel-5 ×4
javascript ×2
laravel-5.3 ×2
php ×2
date ×1
date-range ×1
dob ×1
eloquent ×1
file-upload ×1
for-loop ×1
laravel-5.1 ×1
ng-maxlength ×1
ng-repeat ×1
oop ×1
orientation ×1
pdf ×1
sql ×1
validation ×1
wkhtmltopdf ×1