我想知道如何做一个全局变量来节省几行副本和粘贴这一行.它可能是数组并将它们放在一个变量中?我想在其他路线中使用此变量.
$providerEmail = Auth::user()->email;
$providerName = Auth::user()->first_name;
$providerSurname = Auth::user()->last_name;
$providerMobile = Auth::user()->mobile;
Run Code Online (Sandbox Code Playgroud) 如何在连接两种不同类型实体的中间表上设置软删除?我添加了deleted_at列,但文档说我需要将它放入模型中:
protected $softDelete = true;
Run Code Online (Sandbox Code Playgroud)
当然,我没有中间表的模型.任何的想法?
您是否可以限制使用的Eloquent ORM查询take(),skip()以便生成的mysql查询也受限制,并且它不必返回整个数据集?
如果是这样,你会如何修改:
$test = User::find(1)->games->toArray();
Run Code Online (Sandbox Code Playgroud)
包括limit 3 offset 2?
users games userGames
-- id -- id -- user_id
-- name -- name -- game_id
-- steam_id
Run Code Online (Sandbox Code Playgroud)
class User extends Eloquent {
public function games() {
return $this->belongsToMany('Game', 'userGames', 'user_id', 'game_id');
}
}
class Game extends Eloquent {
public function users() {
return $this->belongsToMany('User', 'userGames', 'user_id', 'game_id');
}
}
Run Code Online (Sandbox Code Playgroud)
使用常规Laravel 查询生成器,我可以得到所有games属于userID 1,并限制其结果与take()和 …
在Laravel你可以这样做:
$user = Auth::user();
Run Code Online (Sandbox Code Playgroud)
问题是,如果我对该对象上的项目进行了更改,它将为我提供更改之前的内容.如何刷新对象以获取最新值?即强制它从数据库中获取最新值?
我正在使用maatwebsite/excel库来创建excel文件,然后下载我的文件
在我的控制器中我喜欢这样:
public function todas()
{
$input = Input::all();
if(isset($input['todos'])&&($input['todos']!=0))
{
set_time_limit(0);
$datainicio = DB::table('tb_periodo')->where('cod', $input['todos'])->pluck('periodo_inicio');
$datafinal = DB::table('tb_periodo')->where('cod', $input['todos'])->pluck('periodo_fim');
$mes = DB::table('tb_periodo')->where('cod', $input['todos'])->pluck('mes_referencia');
$horarioQuery = $this->horario->with(array('funcionario', 'item_contabil'))
->whereBetween('data', array($datainicio, $datafinal))
->whereNull('deleted_at')
->orderBy('cod_funcionario')
->orderBy('data', 'ASC')
->get();
$horarios = reset($horarioQuery);
$count = count($horarios);
if($horarios==null)
return Redirect::route('relatorios.todas')->withErrors(['não existem marcações para este período']);
$funcionarios = $this->funcionario->all();
$datainicio = Carbon::createFromFormat('Y-m-d H:i:s', $datainicio);
$datafinal = Carbon::createFromFormat('Y-m-d H:i:s', $datafinal);
$nome = 'Marcações'.$mes.'-'.Carbon::now()->year;
$this->horario->allToExcel($nome, $horarios);
return View::make('relatorios.todashow', compact('funcionarios', 'datainicio', 'datafinal', 'horarios', 'count', 'nome'));
}
else
{
return …Run Code Online (Sandbox Code Playgroud) 是否可以将路由参数(或路径段)注入控制器构造函数?
你找到一些代码来澄清我的问题.
class TestController{
protected $_param;
public function __construct($paramFromRoute)
{
$this->param = $paramFromRoute;
}
public function testAction()
{
return "Hello ".$this->_param;
}
}
----------------------------------------------------
App::bind('TestController', function($app, $paramFromRoute){
$controller = new TestController($paramFromRoute);
return $controller;
});
----------------------------------------------------
// here should be some magic
Route::get('foo/{bar}', 'TestController');
Run Code Online (Sandbox Code Playgroud) 我正试图在laravel 4中开发一个包 - 我第一次尝试一个包.我发现了一些我试图遵循的教程:
http://jasonlewis.me/article/laravel-4-develop-packages-using-the-workbench
Run Code Online (Sandbox Code Playgroud)
和
http://culttt.com/2013/06/24/creating-a-laravel-4-package/
Run Code Online (Sandbox Code Playgroud)
当然还有官方文件.
我已经按照基本结构来创建框架.但是在加载应用程序时,我得到一个类未找到错误.这与我放在app.php文件中的serviceprovider直接相关.
这是我在providers数组中的条目:
'Longestdrive\Calendar\CalendarServiceProvider'
Run Code Online (Sandbox Code Playgroud)
我的文件夹结构是:
laravel/workbench/longestdrive/calendar/src/Longestdrive/Calendar
Run Code Online (Sandbox Code Playgroud)
我的服务提供商有以下条目:
<?php namespace Longestdrive\Calendar;
use Illuminate\Support\ServiceProvider;
class CalendarServiceProvider extends ServiceProvider {
/**
* Indicates if loading of the provider is deferred.
*
* @var bool
*/
protected $defer = false;
/**
* Bootstrap the application events.
*
* @return void
*/
public function boot()
{
$this->package('longestdrive/calendar');
}
/**
* Register the service provider.
*
* @return void
*/
public function register()
{
//
}
/**
* Get …Run Code Online (Sandbox Code Playgroud) 我的理解是外立面被用作依赖注入的替代方案.如果我弄错了,请纠正.不清楚的是何时应该使用其中一种.
每种方法的优点/缺点是什么?我该如何确定何时使用其中一种?
最后,为什么不同时使用?我可以创建一个引用界面的外观.哨兵2似乎是这样写的.有最好的做法吗?
我现在有一些模型通过laravel有很多关系.这是结构:
users
id
username
...
games
id
title
...
game_user
game_id
user_id
system
Run Code Online (Sandbox Code Playgroud)
现在,我的模型看起来有点像这样:
<?php
class Game extends Eloquent
{
/**
* A game is owned by many users
*
* @return mixed
*/
public function user()
{
return $this->belongsToMany('User')->withPivot('system');
}
<?php
class User extends Eloquent
{
/**
* A user has many games.
*
* @return mixed
*/
public function games()
{
return $this->belongsToMany('Game')->withPivot('system');
}
Run Code Online (Sandbox Code Playgroud)
现在,一切正常.但是,我希望在数据透视表的系统字段上使用mutator.我找不到任何关于此的文档,以下(在用户和游戏模型中)不起作用:
public function getSystemAttribute($val)
{
return $val.' Testing';
}
Run Code Online (Sandbox Code Playgroud) 有没有办法在Laravel 4迁移中生成存储的MYSQL程序?
例如,这是一个存储为字符串的简单过程生成查询(通过Heredoc)
$query = <<<SQL
DELIMITER $$
DROP PROCEDURE IF EXISTS test$$
CREATE PROCEDURE test()
BEGIN
INSERT INTO `test_table`(`name`) VALUES('test');
END$$
DELIMITER ;
SQL;
DB:statement(DB::RAW($query));
Run Code Online (Sandbox Code Playgroud)
在迁移up()功能中运行此命令时出现此错误:

mysql stored-procedures database-migration laravel laravel-4