Estrenando extension para Yii Framework en Github

Github y mi nueva extension para yii framework
Para quienes no sepan que es Github es una herramienta o servicio social de alojamiento utilizado para compartir código, muy fácil para llevar el control de versiones y útil para cuando más de una persona trabaja con código en proyectos de software..
Pues bueno aun no había tenido la oportunidad de probar bien esta nueva herramienta hasta que decidí crear una pequeña extensión para Yii Framework, el propósito de la extensión es poder manejar o mover items entre 2 listas (básicamente eso) utilizando jQuery y PHP. Y claro como todo lo que se hace en la web, la ideología principal es poder compartir esa información, por lo que decidí subir el código de la extensión a Github. Por si quieren hecharle una miradita el repositorio se encuentra en http://github.com/jackfiallos/optiontransferselect.
Una de las opciones que más me llaman la atención de esta nueva manera de compartir código es que podemos tomar una copia de ese código y empezar un nuevo hilo de desarrollo o lo que se conoce como fork. Igualmente tiene otra opción llamada watchers es cual nos avisa de las personas que estan siguiendo nuestro releases o nuevas implementaciones o nuevas modificaciones en el código.
Ahora que ya saben que es Github y si es código lo que quieren compartir ya saben que hacer.. quizás en otro post publique como iniciar un nuevo repositorio.
There are currently no comments highlighted.
hola soy nuevo en yii framework tengo que hacer una aplicacion para mis pasantias soy muy novata en esto de diseño web si puedes darme un ejemplo de como hacerlo que por mas que leo aun estoy en las nubes jejeej
Hola genesis..
Cuentame que es lo que has llegado a ver del framework y que experiencia tienes sobre el desarrollo de aplicaciones web.. has seguido algun tutorial, por ej. el de crear un blog con yii ??
Con mucho gusto podre ayudarte, solo es cuestion que pongas de tu parte para empezar una aplicación sencilla..
gracias ya empece la aplicacion lo basico cree las base de datos, luego le hice el llamado en model y crud me deja hacer la tabla de registro y me la muestra pero hay otras tablas como asignacion que esta relacionada con registro y me dice que no se puede
No se si ya has leido algo sobre las relaciones que se establecen desde los modelos.. normalmente cuando creas las vistas mediante CRUD este no lo hace todo por si solo por ej. las relaciones entre otras tablas, por lo que siempre es necesario modificar el codigo.
Sabes que puedes escribir todas tus preguntas en el foro de yii en español y ahi mismo la comunidad puede ayudarte, de hecho yo escribo mucho ahi para ayudar a quienes tambien estan dando sus primeros pasos con el framework.. Te invito a que lo hagas y compartas tus dudas con todos nosotros.. será mas facil responderte y más rapido tambien..
http://www.yiiframework.com/forum/
buenos dias!
estoy teniendo problemas
con eso ultimo que se menciona,
las tablas relacionadas.
ya establke las relations en cada una de las tablas que intervienen.
ahora tengo problemas en el controller,
con lo que tengo qe definir ahi y como.
por lo qe lei hace uno de with, mas no consigo que funciones.
Desde ya muchas gracias
Cuentame que tipo de problema tienes, para saber por donde empezar a ayudarte..
Dices que ya tienes las relaciones establecidas en las tablas.. pero ya las estableciste en los modelos ?? Quizas por eso en los controllers utilizando with en las consultas es que tienes errores..
buen dia!
antes que nada ya solucione el tema de las tablas relacionadas
ahora tengo problema para exibir los datos :/
es asi, tengo 2 tablas
la tabla programa con:
id_prog
nome
y la tabla apresentadores con:
id_apre
nome
como es una relacion muchos a muchos, defini una tabla prog_apres con:
id_prog
ir_apres
hasta ahi todo bien definido,
ahora preciso listar los programas
con su id, nombre y los nombres de los apresentadores que tiene ligados.
y AHI ESTA EL PROBLEMA, porque solo me muestra uno si es que tiene por ejemplo 3 apresentadores.
la idea es que quede mas o menos asi:
programas
id nome apresentadores
24 telejornal Juan, Jose
ó
id nome apresentadores
24 telejornal Juan,
Jose,
Agustin
nosé que forma sea mas conveniente,
porque despues me tiene que dejar agregar mas apresentadores o quitar, pero ese ya es otro tema,
ahora el tema esta en que me los muestre a TODOS y NO solo uno.
se entiende?
desde ya muchas gracias.
ya encontre por donde viene el problema, en al definicion de las relaciones, me faltaba el with en las tablas programa y apresentadores
y definir las relaciones en la tabla intermediaria.
asi que ando por ahi modificando
Estoy preparando un ejemplo de como debe ser.. porq dificil no lo es..
gracias
yo encotre el problema en las relaciones
la de la tabla programa y apresentador tenian que ser many_many y la de la tabla prog_apres (la que defini con id_prog e id_apres) debe ser has_many.
ahora ando con un prob con
CDbCommand failed to execute the SQL statement: SQLSTATE[42S22]
pero nada que un poco de paciencia no resuelva.
se que el trabajo complicado viene despues con la presentacion de las tablas relacionadas y que me permita agregar mas apresentadores a programas y quitar :/
aunque por lo que lei se maneja con sentencias sql directas, para insertar datos por ejemplos en las 3 tabelas las dos relacionadas y la tercera que precisamos porque es many_many
en fin, sigo con esto, espero tu ejemplo
continuo con el problema de
CDbCommand failed to execute the SQL statement: SQLSTATE[42S22]: Column not found: 1054 Unknown column ‘t.’ in ‘on clause’
es por el tema de la relacion many_many
y que parece que se asigna t a la tabela fija. Pero no hay forma de que funcione, intente de todo como lei t.id_prog
t.id=? usando title, pero nada,
tienes alguna idea de eso ?
con certeza es alguna definicion que falta por el lado de las relations.
disculpa la molestia
es que soy muy nueva en todo esto de yii
PROBLEMA SOLUCIONADO!
mudando
$prog_apres = ProgApres::model()->with(‘apresentador’,'script’)->findAllByAttributes(array(‘id_prog’ => $_GET['id']));
por
$prog_apres = Script::model()->findAll(
array(
‘condition’=>’t.id_prog = :id_prog’,
‘params’=>array(
‘:id_prog’=>$_GET['id'],
),
‘together’=>true,
‘with’=>array(‘Apresentador’),
)
FUNCIONO !!!!!!!!!!!!!!
AHORA ESTOY con problemas para presentar los datos relacionados,
pero eso por los menos ya funciono
Genial.. entonces ahora para mostrar los datos relacionados debes de escribir algo similar a Programa->Apresentador->nome o algo similar, no lo recuerdo bien, pero la logica es hacer un llamado a la clase del modelo, luego a la relacion y por ultimo al atributo de la bd que necesitas
claro, pero tengo que tener definido en controller,
que datos me tiene que cargar no?
porque tengo asi
$dados_prog = Script::model()->with(‘Apresentador’)->findByAttributes(array(‘id_prog’=> $_GET['id'])); //script seria progrma
$apresentador =Apresentador::model()->with(‘Script’)->find();
$prog_apres =Script::model()->findAll(
array(
‘condition’=>’t.id_prog = :id_prog’,
‘params’=>array(
‘:id_prog’=>$_GET['id'],
),
‘together’=>true,
‘with’=>array(‘Apresentador’),
)
);
y en la view tengo
echo ‘Programa’;
echo $dados_prog ->nome;
echo’Apresentadores’;
foreach ($prog_apres as $presentador)
echo $apresentador->nome;
y solo me imprime el primer apresentador relacionado al programa
y la idea era que me imprima todos los nomes de apresentadores
relacionados a un programa dado.
es problema de lo qe cargo en la view?
No estoy seguro, pero creo q lo de mostrar solo un apresentador ocurre porq utilizas find() sin pasar parametros.. y lo de la vista, pues falta q lo afines porq podrias retornar un dataprovider y meterlo en un clistview para ya no hacer mas foreach
gracias!
lo del dataprovider, no lo tenia pensado eh,
voy tocar por ahi.
buenas tardes
yeeeeeeeeah!
con dataprovider me muestra id prog e id apres, y me muestra todos los apresentadores relacionados a un programa =D
ahora me falta que en vez del id_apres sea el nombre del apresentador, pero ese negocio parece que va a quedar para mañana jajaja.