des1roer: Что-то я запутался. Вам id нужен до вставки или после? returning id отдает идентификатор ПОСЛЕ вставки (в самом Insert запросе). Если вам просто нужно узнать идентификатор последней вставки - гуглите на тему yii2 last_inserted_id
Посторонним В.: Можно и так. Я для таких случаев обычно использую массив возможных значений, просто проверяю if(!in_array($field, $this->available_fields)) {throw new Exception...}
@jamol Да, можно и без wsdl, тогда примерно так
$server = new SoapServer(null, array('uri'=>'localhost/web-service/simple'));
Тоесть сервер тоже создается без wsdl.
@jamol Все у вас работает, просто для клиента нужно указать путь до wsdl файла сервера:
$client = new SoapClient('localhost/web-service/simple/myfile.wsdl',
array(
'location'=>'localhost/web-service/simple/simple_server.php',
'uri'=>'localhost/web-service/simple',
'trace' => 1
));
@nalimka Симфони не совсем аналог, там левая консоль, левая ОРМ, композер, тогда как в рельсах все свое, написанное специально для себя, теми же людьми, что писали Рельсы. А про рефакторинг, там элементарный код, смысл ролика, как раз в том, что с помощью одной-двух строк кода, можно добавить функционал, для которого в PHP и Python потребуются часы.
@Mandor При связи один ко многим, Join будет O(n), как в моем случае, так и в вашем. Серьезно, хватит спорить, просто напишите скриптик, и проверьте при различных входных данных.
@Mandor Ничего в этом страшного нет, это не дублирование информации, вы немного запутались в терминах. Дублирование тут тоже есть - это owner_id в обоих таблицах, при связи один ко многим. В общем, cтоит закончить дискуссию, если вам интересна тема анализа сложности алгоритмов, почитайте http://habrahabr.ru/post/196560/
@codercat@Mandor Плин, тут стена - это пост, обычная связь один ко многим, никаких извращений. Так и знал что придется все же написать этот запрос: SELECT * FROM walls w LEFT JOIN comments c ON c.wall_id = w.id WHERE w.owner_id = 2