38 lines
941 B
PHP
38 lines
941 B
PHP
<?php
|
|
|
|
namespace App\Helpers;
|
|
|
|
use App\Album;
|
|
use App\Facade\UserConfig;
|
|
use Illuminate\Support\Facades\Auth;
|
|
|
|
class DbHelper
|
|
{
|
|
public static function getAlbumsForCurrentUser()
|
|
{
|
|
$user = Auth::user();
|
|
$userId = is_null($user) ? 0 : $user->id;
|
|
|
|
$albums = Album::where('is_private', false)
|
|
->orWhere(function ($query) use ($userId)
|
|
{
|
|
$query->where('is_private', true)
|
|
->where('user_id', $userId);
|
|
})
|
|
->orderBy('name')
|
|
->withCount('photos')
|
|
->paginate(UserConfig::get('items_per_page'));
|
|
|
|
return $albums;
|
|
}
|
|
|
|
/**
|
|
* Fetches an album using its URL alias.
|
|
* @param string $urlAlias URL alias of the album to fetch.
|
|
* @return Album|null
|
|
*/
|
|
public static function loadAlbumByUrlAlias($urlAlias)
|
|
{
|
|
return Album::where('url_alias', $urlAlias)->first();
|
|
}
|
|
} |