با درود خدمت شما . من کمی کد های Ecto رو دیدم خیلی از بخش هاش مثل اینکه ماکرو درست شده و داره این کارارو می کنه و هرچی گشتم ماکرو رو پیدا نکردم
من نیاز دارم به زبون ساده قطعه کدی رو پیدا کنم که بگه چطور Ecto داره این کارو می کنه
چطور داره تو changeset پارامتر هارو چک می کنه و یا کاربر وقتی می گه null نباشه در کجا این کد تشخیص می ده
قضیه از اینجا شروع می شه که من یک پستی به جوملا زدم که چرا امکاناتی رو به ORM جوملا اضافه نمی کنید. چرا هیج جایی نیست که ارور خوب تحویل بده و ما باید کد های زیادی بزنیم و حالا می خوام بخش هایی از کد های الکسیر رو نشون بدم بهشون
این خیلی به جوملا مربوط نیست بلکه به validation در php
در php هم orm وجود داره که validation شبیه ecto انجام میده شما ببین میتونی orm های php در جوملا اضافه کنی
درود سام عزیز . چون جوملا ORM خودشو داره و نمی دونم چرا چند ساله تغییر نکرده . واقعیت امر اینکه من گشتم ORM خوبی پیدا نکردم که مراحلی مثل Ecto داشته باشه
حتی یک پستی هم در این رابطه قبلا در انجمن زدم. مطمئنن اگر ORM خوبی می تونستم پیدا کنم سعی می کنم از اون استفاده کنم . البته می دونم که در مدل جوملا دچار مشکل می شم ولی آزمون کردنش هم خوبه حتی باعث می شه من بتونم اون ORM رو به جوملا پیشنهاد کنم .
درود توماج جان. فکر کنم لاراول هم از این استفاده می کنه . من اینو دیده بودم . بعد کمی در داکیومنتش گشتم . دیدم مثلا برای بخش مشخص کردن نوع هر پارامتر به صورت گتر و ستر عمل کرده . ولی دیدم پکیجی که تو لارول استفاده می شه خیلی ساده تر رفته جلو
بعد در قسمت بعدی داکیومنت دیدم که برای فراخوانی مثلا داده ای یا … تقریبا باید باز sql خام زد
public function getUsersBugs($userId, $number = 15)
{
$dql = "SELECT b, e, r FROM Bug b JOIN b.engineer e JOIN b.reporter r ".
"WHERE b.status = 'OPEN' AND e.id = ?1 OR r.id = ?1 ORDER BY b.created DESC";
return $this->getEntityManager()->createQuery($dql)
->setParameter(1, $userId)
->setMaxResults($number)
->getResult();
}
ولی این مورد توی پکیج لاراول ساده تره
require "bootstrap.php";
$user = User::Create([ 'name' => "Kshiitj Soni", 'email' => "[email protected]", 'password' => password_hash("1234",PASSWORD_BCRYPT), ]);
print_r($user->todo()->create([
'todo' => "Working with Eloquent Without PHP",
'category' => "eloquent",
'description' => "Testing the work using eloquent without laravel"
]));
به همین منظور گفتم این ممکنه بهتر باشه برای من که خیلی وقته فاصله گرفتم از دیگر زبان ها