سلام و درود
میخواستم اسم جدول تقریبا شبیه به لاراول از مدل user گرفته بشه اما دقیقا نمیدونم چطور اسم جدول از کلاس مدل یوز به کلاس اصلی خود مدل و از اونجا به دیتابیس بفرستم طوری که اسم جدول به صورت استاتیک نباشه
ممنون از توجهتون
در ضمن من اطلاع ندارم که چطور کدم رو اینجا به اشتراک بزارم که درست نمایش داده بشه
@ali.bayat
خیلی خیلی ممنونم ازتون
اینطوری درستش کردم کار کرد اونطوری که میخواستم شد...
class Models
{
public $table;
public function __construct()
{
//
}
public function __call($method, $parameters)
{
return (new Database($this->table))->$method(...$parameters);
}
public static function __callStatic($method, $parameters)
{
return (new static)->$method(...$parameters);
}
}
@Serjik
متوجه سوالتون نشدم.
کدتون رو با ۳ تا بَکتیک (`) شروع و تمام کنید.
https://guides.github.com/features/mastering-markdown/
<?php
class IndexController extends Controller
{
public function registerPost()
{
$this->model('User');
User::get();
}
}
?>
//// user model
<?php
class User extends Models
{
public $rows=[];
public $table='user';
}
?>
//// model
<?php
class Models
{
public $table;
public static function __callStatic($method , $parameters)
{
return (new Database('tableName'))->$method(...$parameters);
}
}
?>
<?php
class Database
{
public function __construct($table)
{
echo $table;
}
public function get()
{
}
}
?>
برای هر مدل اسم جدول دیتابیس رو با پراپرتی table مشخص میکنید . بین کلاسها هم میتونید برای انتقال داده از constructor استفاده کنید.
@ali.bayat
یه همچین چیزی منظورتونه:
class Models
{
public $table;
public static $currentTable;
public function __construct()
{
self::$currentTable=$this->table;
}
public static function __callStatic($method, $parameters)
{
return (new Database(self::$currentTable))->$method(...$parameters);
}
}
الان این کد کار نکرد...
@ali.bayat
خیلی خیلی ممنونم ازتون
اینطوری درستش کردم کار کرد اونطوری که میخواستم شد...
class Models
{
public $table;
public function __construct()
{
//
}
public function __call($method, $parameters)
{
return (new Database($this->table))->$method(...$parameters);
}
public static function __callStatic($method, $parameters)
{
return (new static)->$method(...$parameters);
}
}
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟