factory(Attribute::class)->create();
factory(Attribute::class)->create()->each(#...)
$attribute = factory(Attribute::class, 2)->create()->each(#...)
$attributes = factory(Attribute::class, 2)->create()->each(#...)
$attributes = factory(Attribute::class, 2)->create()->each(function (Attribute $createdAttribute) {
$createdAttribute->multiples()->createMany(factory(Multiple::class, $multiples_count)->raw());
});
$multiples_count = 5;
$attributes = factory(Attribute::class, 2)->create()->each(function (Attribute $createdAttribute) use ($multiples_count) {
$createdAttribute->multiples()->createMany(factory(Multiple::class, $multiples_count)->raw());
});
$multiples_count = 5;
$attributes = factory(Attribute::class, 2)->create()->each(function (Attribute $createdAttribute) use ($multiples_count) {
$createdAttribute->multiples()->createMany(factory(Multiple::class, $multiples_count)->raw());
});
foreach ($attributes as $attribute) {
$attribute->doSomeThing(); // Вот вам и ваш "контекст"
}
View::composer('dashboard', function ($view) {
static $result;
if(!$result) {
$result = getSomeData();
}
$view->with($result);
});
$menu->{'title_'.$lang}
class Menu {
public function getTitile ($lang)
{
return $this->getAttribute('title_' . $lang);
}
}
{{$menu->getTitle($lang)}}
class Menu {
public function getTitleAttribute()
{
return $this->getAttribute('title_' . app('locale'));
}
}
{{$menu->title}}
use GuzzleHttp\Psr7\ServerRequest as GuzzleRequest;
use GuzzleHttp\Psr7\Response as GuzzleResponse;
use League\OAuth2\Server\AuthorizationServer;
use Illuminate\Http\Response;
use Illuminate\Http\Request;
$server = app(AuthorizationServer::class);
$psrReponse = $server->respondToAccessTokenRequest((new GuzzleRequest('POST', ''))->withParsedBody([
'grant_type' => 'password',
'client_id' => '2' // Или какой клиент у вас там за гранты паролей отвечает,
'client_secret' => '***',
'username' => 'god@skies.com',
'password' => 'my-very-strong-password',
'scope' => '',
]), new GuzzleResponse());
// Можно сразу запросить на вход \Psr\Http\Message\ServerRequestInterface - лара умеет такое инжектить
// Я накидал его руками - для наглядности
// Это могут быть любые psr7 совместимые объекты Request и Response, не только Guzzle.
// Например Zend\Diactoros (его ижектит лара) тоже подойдет.
// Ну а здесь уже конвертируем ответ в ларовский
// Ответ будет содержать token_type, access_token, expires_in и refresh_token
// expires_in содержит время жизни токена в секундах
// Например, по умолчанию для одного года это будет 60*60*24*366 = 31622400
return new Response(
$psrReponse ->getBody(),
$psrReponse ->getStatusCode(),
$psrReponse ->getHeaders()
);
.env
.APP_URL
.https://site.hhos.ru
..env
находится не под версией (во всяком случае, так должно быть). У вас может отсутствовать и сам файл .env
. В этом случае, нужно создать его, скопировав .env.example
и назначив переменным среды актуальные для сервера значения.app.php
.filesystems.php
проверить ключ url
диска public
.'url' => env('APP_URL')
guest
и intended
класса Illuminate\Routing\Redirector./**
* Create a new redirect response, while putting the current URL in the session.
*
* @param string $path
* @param int $status
* @param array $headers
* @param bool $secure
* @return \Illuminate\Http\RedirectResponse
*/
public function guest($path, $status = 302, $headers = [], $secure = null)
{
$this->session->put('url.intended', $this->generator->full());
return $this->to($path, $status, $headers, $secure);
}
/**
* Create a new redirect response to the previously intended location.
*
* @param string $default
* @param int $status
* @param array $headers
* @param bool $secure
* @return \Illuminate\Http\RedirectResponse
*/
public function intended($default = '/', $status = 302, $headers = [], $secure = null)
{
$path = $this->session->pull('url.intended', $default);
return $this->to($path, $status, $headers, $secure);
}
if(auth()->guest()) {
session()->put('url.intended', url()->full());
return redirect()->route('auth');
}
$clinic->doctors()->each(function ($doctor) {
$doctor->append('custom_atr');
})
$clinic = Clinic::with('doctors')->find(1);
$clinic->doctors->each(function ($doctor) {
$doctor->append('custom_atr');
});
use Illuminate\Support\ServiceProvider;
class ApiClientServiceProvider extends ServiceProvider
{
/** @var boolean Отложенный, потому не при каждом запросе нам нужно дергать это апи */
public $deffered = true;
public function register ( )
{
$this->app->singleton(VeryUsefulApi::class, function($app) {
// Не очень хорошо дергать env из провайдера, поэтому поместим-ка настройки в конфиг
// А уж из конфига будем дергать env
new VeryUsefulApi([$app['config']['services.verify_user']);
});
$this->app->singleton(ApiClient::class); // Ну это если нужен именно синглтон
}
/** @return array | string[] Сообщаем контейнеру, что если вдруг нужны эти ключи, то они тут */
public function provides() {
return [VeryUsefulApi::class, ApiClient::class];
}
}
class ApiClient
{
/** @var VeryUsefulApi */
protected $api;
public function __construct (VeryUsefulApi $api)
{
$this->api = $api;
}
#...
}
class SomeController {
/** @var ApiClient */
protected $client;
public fuction __construct(ApiClient $client)
{
$this->clien = $client;
}
}
Gate::before(function ($user, $ability) {
return $user->hasAccess($ability);
});
Gate::before(function ($user, $ability) {
if(in_array($ability, ['see_private_posts', 'delete_private_posts'])) {
return $user->hasAccess($ability);
}
});
auth()->once($credentials);
$token = auth()->user()->createToken('Token Name')->accessToken;
class Note extends Model
{
public function second()
{
return $this->morphedByMany(SomeModelSecond::class, 'taggable');
}
public function first()
{
return $this->morphedByMany(SomeModelFirst::class 'taggable');
}
}
Notes::with('first.relationFirst', 'second.relationSecond');
class SomeModelFirst extends Model
{
public $with = ['relationFirst'];
public function notes()
{
return $this->morphMany(App\Note::class, 'noteable');
}
public function relationFirst()
{
return $this->belongsTo(Photo::class);
}
}
class SomeModelSecond extends Model
{
public $with = ['relationSecond']
public function notes()
{
return $this->morphMany(App\Note::class, 'noteable');
}
public function relationSecond() {
return $this->belongsToMany(Comment::class);
}
}
SomeModelFirst::with([])->get();
$notes = Notes::with('noteable');
$notesGrouped = $noted->groupBy(function($model){
return get_class($model);
});
$notesGrouped[SomeModelFirst::class]->load('relationFirst');
$notesGrouped[SomeModelSecond ::class]->load('relationSecond');
public function store(Request $request)
{
Product::create($request->only('product_title'))->photos()->saveMany(array_map(function($photo_filename, $photo_title, $photo_desc){
return new Photo(compact('photo_filename', 'photo_title', 'photo_desc'));
}, ...$request->only('photo_filenames', 'photo_titles', 'photo_descs')));
return back();
}