ParisaKiani
چهارشنبه 30 اردیبهشت 1394, 14:23 عصر
سلام 
من یه سلکت جوین دارم , از دوتا جدول user و resuran اطلاعات سلکت میکنه 
موقع استفاده از مدل دچار مشکل شدم , لطفا راهنمایی کنید 
$query = User::find();
$query->select(['user.userName','resturan.userId','resturan.id', 'resturan.name'])
->from('user')
->leftJoin('resturan', 'resturan.userId = user.id');
چون از مدل user استفاده کردم و userId تو تیبل user ندارم , userid رو برنمیگزدونه و وقتی از مدل resturan استفاده میکنم و username تو جدول resturan نیست ,username  نمیشناسه 
تو اینجور مواقع باید چیکار کرد ؟؟؟
ممنون از پاسخگویی
MMSHFE
چهارشنبه 30 اردیبهشت 1394, 14:29 عصر
ساختار دیتابیستون رو بگذارین. هر دو جدول user و resturan و همچنین relation های بینشون رو اینجا قرار بدین تا ببینیم مشکل چیه.
ParisaKiani
چهارشنبه 30 اردیبهشت 1394, 15:07 عصر
ساختار دیتابیستون رو بگذارین. هر دو جدول user و resturan و همچنین relation های بینشون رو اینجا قرار بدین تا ببینیم مشکل چیه.
CREATE TABLE IF NOT EXISTS `resturan` (`id` int(11) NOT NULL,  `userId` int(11) NOT NULL,  `name` varchar(50) NOT NULL,  `email` varchar(190) NOT NULL,  ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `user` (   `id` int(11) NOT NULL,  `name` varchar(20) NOT NULL,  `userName` varchar(100) NOT NULL,  `password` varchar(200) NOT NULL,   ) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=utf8;
// start User.phpnamespace frontend\models;
use Yii;
class User extends \yii\db\ActiveRecord{        public static function tableName()    {        return '{{%user}}';    }
        public function rules()    {        return [            [['name', 'userName', 'password'], 'required']                   ];    }
        public function attributeLabels()    {        return [            'id' => 'ID',            'name' => 'Name',            'userName' => 'User Name',            'password' => 'Password',                    ];    }
        public function getResturans()    {        return $this->hasMany(resturan::className(), ['userId' => 'id']);    }}
//end User.php
//start resturan.php
namespace frontend\models;
use Yii;
class Clinic extends \yii\db\ActiveRecord{        public static function tableName()    {        return '{{%resturan}}';    }
        public function rules()    {        return [            [['userId', 'name', 'email'], 'required'],                   ];    }
        public function attributeLabels()    {        return [            'id' => 'ID',            'userId' => 'User ID',            'name' => 'Name',            'email' => 'Email',                    ];    }
        public function getUser()    {        return $this->hasOne(User::className(), ['id' => 'userId']);    }}
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.