Laravelde bir modeli, oluşturma tarihine göre sıralamak istersek created_at sütununu orderBy ile sıralayabiliriz:
$users = User::orderBy('created_at', 'desc')->get();
Fakat latest() kullanarak bu işlemi daha hızlı yapabiliriz:
$users = User::latest()->get();
Eğer eski kayıtlardan...
Laravelde default olarak created_at formatı " Y-m-d H:i:s" şeklindedir. Bunu, veritabanında değişiklik yapmadan sadece dönen cevapta değiştirmek istersek model dosyamıza şu metodu eklememiz yeterli olacaktır:
use DateTime;
class UserWord extends Model
{
public function...
Laravelde created_at ve updated_at alarını değiştirmek isterseniz ilgili alan adlarıyla bir const yaratmanız ve buna istediğiniz değeri atamanız yeterli. Örnek olarak User modelimizdeki created_at kolununu create_date ; updated_at sutununu da update_date olarak değiştirelim:
class User...
Laravelde Blade dosyalarınızın var olup olmadığından emin değilsek ve sadece var olduğunda işlem yapmak istiyorsak kısaca includeIf() komutunu kullanabiliriz:
@includeIf('partials.header')
Eğer kullanıcının rolüne göre blade dosyasını yüklemek istiyorsak @includeWhen() komutunu...
Laravelde eğer direkt veritabanınızdaki bir kolona göre değil de bir koşula göre gruplama yapmak isterseniz closure function(kapatılmış fonksiyon) kullanabilirsiniz.
Örnek olarak kullanıcıları, kayıt olma gününe göre gruplamak isterseniz şöyle bir kod kullanabilirsiniz:
$user =...
Laravelde bir modelin, alt ilişkilerinin sayısını almak istiyorsak withCount() metodunu kullanabiliriz. Örnek olarak bir "user" modelimiz olsun ve bu user ın postu(yazıları), ve commentleri(yorumları) olsun.. User modelini post ve comment sayılarıyla birlikte çağırmak istersek şöyle bir yol...
Blade içinde kullanmak üzere kendi komutlarımızı kullanabiliriz.. Bunun için öncelikle app/Providers/AppServiceProvider.php içerisine metodumuzu yazıyoruz. Biz bu örnekte tarih dönüşümü yapan bir metot yapacağız.
Öncelikle AppServiceProvider içindeki boot() metodunun içine şu kodları...
Laravelde composer.json da kullandığımız paketlerin yeni versiyonlarını öğrenmek için composer outdated komutunu kullanabiliriz. Bu komut bize şu şekilde bir çıktı verecektir:
Laravelde routeları genelde şu şekilde kullanırız:
Route::get('page', 'PageController@action');
Fakat bu yapıda PageController tıklanabilir olmadığı için manuel olarak controllera gitmemiz gerekir(Bunun için çeşitli kütüphaneler var ama o konuya girmeyeceğim). Eğer Controllerların PHP...
Laravelde var olan routeları ayrıntılarıyla listelemek istiyorsanız şu komutu kullanabilirsiniz:
php artisan route:list
Bu komuttan sonra var olan routelar aşağıdaki gibi terminale listelenecektir.
Routelara parametre verip, ayrıntılı şekilde de filtreleme yapabiliriz. Daha fazla bilgi...
Laravelde güncelleme işlemi yaparken update_at kolunu otomatik olarak güncellenir. Fakat bağlı olduğu ilişkilerinde güncellenmesi için $touches özelliğini kullanabiliriz. Örnek olarak yorum kolonu güncellendiği zaman, ona bağlı yazının da güncellenmesini istiyorsak şöyle bir kod yazabiliriz...
Laravelde validasyon işlemleri yaparken tarihleri ek parametre verip; tomorrow(yarın), today(bugün) ve yesterday(dün) gibi çeşitli filtrelemeler yapabilirsiniz:
$rules = [
'start_date' => 'after:tomorrow',
'end_date' => 'after:start_date'
];
Laravelde Auth:: once() metodunu kullanarak tek seferlik user girişi yaptırabilirsiniz.. Böylelikle session veya cookie tutulmaz.. Bu metot sayesinde stateless API geliştirebilirsiniz:
$credentials = ['email' => $request->input('email'),'password' => $request->input('password')];
if(Auth...
Laravelde bazen kurduğumuz ilişkilerde henüz bir obje oluşmamış olabilir ve erişmeye çalıştığımızda null object hatası alırız({{ $post->user->name }} gibi). Bu tarz durumlarda hata almamak için withDefault() komutunu kullanarak, verilerin null dönmesini engelleyebiliriz.
public function...
Laravelde View ın var olup olmadığını anlamak için şu komutu kullanabilirsiniz:
if (view()->exists("emails.{$templateAdi}")) {
// ..bu şablonu kullanarak email gönder
}
Laravelde implode() metodunu kullanarak bir veri yığını içerisindeki bir kolonu, ayıraç kullanarak(virgül gibi) alabilirsiniz. Örnek :
$collection = Person::all();
$names = $collection->implode('first_name', ',');
//Çıktı: Ali,Veli,Ahmet
Laravelde bazen db üzerinde verileri random şekilde almak isteriz.. Bunu yapmanın çeşitli yolları var, onlardan biri de şöyle:
$questions = Question::orderByRaw('RAND()')->take(10)->get();
Laravelde eğer updated_at kolonunun otomatik bir değer değil de, bizim belirlediğimiz bir değeri almasını istiyorsak veya güncellenme damgasını o işlem için devredışı bırakmak istiyorsak 'timestamps' => false komutunu kullanabiliriz. Örnek:
$product = Product::find(1);
$product->updated_at =...